← TypeScript コース
35. never — 値が存在しない型
never は「値が決して存在しない」ことを表す型です。void が「値を返さずに終わる」だったのに対し、never は「正常に終わって値を返すことが決してない」という意味で、必ず例外を throw する関数の戻り値が代表例です。
実務では、エラー処理を1か所にまとめた fail のような関数に never を付けます。never の関数を呼んだ後ろのコードには到達しないとコンパイラが理解するので、「この分岐に入ったら処理はここで終わり」という流れを型で表現できます。
つまずきポイントは、void との混同です。ログを出して普通に終わる関数は void、throw して決して戻らない関数は never です。「戻ってくるか、戻ってこないか」で区別しましょう。never には他にも高度な使い道がありますが、まずはこの基本を押さえれば十分です。
▶ サンプルコードを実行してみよう(自由に書き換えてOK)
TypeScript
サンプルコードで身につける(5本) →
学んだ概念を、素朴な例から実務寄りの例まで5つの具体例で確認します。
公式ドキュメントで詳しく ↗