日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TypeScript 里 never 类型的用法举例

發布時間:2023/12/19 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TypeScript 里 never 类型的用法举例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在縮小范圍時,您可以將聯合的選項減少到您已刪除所有可能性并且一無所有的程度。 在這些情況下,TypeScript 將使用 never 類型來表示不應該存在的狀態。

never 類型可分配給每種類型; 但是,沒有類型可以分配給 never(除了 never 本身)。 這意味著您可以使用縮小并依靠從不出現在 switch 語句中進行詳盡的檢查。

可以善用這一點進行錯誤處理。

例如,向我們的 getArea 函數添加一個默認值,該函數試圖將形狀分配為 never 在尚未處理所有可能的情況時引發。

interface Circle {kind: "circle";radius: number; }interface Square {kind: "square";sideLength: number; }type Shape = Circle | Square;function getArea(shape: Shape) {switch (shape.kind) {case "circle":return Math.PI * shape.radius ** 2;case "square":return shape.sideLength ** 2;default:const _exhaustiveCheck: never = shape;return _exhaustiveCheck;} }

如果我們在 shape 聯合類型里增加一個新字段,比如:

interface Triangle {kind: "triangle";sideLength: number; }

會立即遇到語法錯誤:

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的TypeScript 里 never 类型的用法举例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。