Open2
TypeScriptのnever型について
モチベ
neverについて、「値を持たない型」という検索結果が出てくるが、それをvoid, null, undefinedなどと切り分けて口頭で説明できるレベルで理解する。
とりあえず、neverについての記事を読み漁るところから。
参考
neverが発生する場面
- 確実にErrorがthrowされ、処理が最後まで到達しない関数の戻り値はnever型
- エラーを吐き出す関数を戻り値としている場合の戻り値もnever型
- while(true) のような無限ループが発生する場合の戻り値もnever型
voidとの違い
- void型は、関数が正常に終了した場合、何も返さないときの型
- never型は、関数がそもそも正常に終了しないときの型