TypeScript 里 never 类型的用法举例
生活随笔
收集整理的這篇文章主要介紹了
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 类型的用法举例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 格式化u盘有什么后果(usb有什么影响)
- 下一篇: cad怎么添加标注样式?CAD中添加IS