TypeScript 筆記:never 簡介
上一篇 TypeScript 筆記簡單介紹了 unknown,而此篇改來介紹另一個特殊型別—— never:
never
never 型別是所有型別的子集,TypeScript 「所有」型別(甚至包括 any、null 與 undefined)都有包含 never 例外處理的狀態,其在 TypeScript 2.0 版提出,表示不存在值的型別,那怎樣會出現不存在值的型別呢?
最常見的情形有兩種:
* 無法結束的函式方法
* throw error 錯誤處理
無法結束的函式方法
無法結束函式方法情境,最常見就是函式內發生了無限迴圈的情況:
function infiniteLoop(){
while(true){
}
}
不過,上述程式碼在型別推論因為函式沒有回傳值,會被自動推論成 void。
可以這麼理解,當一個函式沒有返回值時,它的 return 值為 void 型別,