お知らせ
現在サイトのリニューアル作業中のため、全体的にページの表示が乱れています。
process.exit()
のラッパーだったり、throw
する関数だったりして、戻り値がnever
を取る関数で、TypeScript上、後続処理がデッドロジックになるものを作る方法。
Env | Ver |
---|---|
TypeScript | 5.4.5 |
普通に実装して型推論に任せてもうまくいかない。
別の関数から呼んだときに、呼び側の関数の戻り値型を正しくするためだ。下図はデッドロジックになっていない状態のときのものだが、処理が死なずに通り抜けてしまうのでundefined
が帰ることになっており、この関数の呼び下でundefined
だった時の処理を書く必要が出てきてしまう。
しかし、デッドロジック扱いになっていれば下図のように戻り値の型が期待した通りの内容になる。この関数がundefined
を返すことはないので、この状態を実現するために行っている。