問題一覧に戻る
初級特殊な型
問題13: never型
never型を使って、決して終了しない関数や到達不可能なコードを表現する方法を学びます。例外をスローする関数や無限ループ、switch文の網羅性チェックで使用されます。コンパイラがコードの完全性を検証できます。
// 例外をスローする関数
function throwError(message: string) {
throw new Error(message);
}
// 無限ループ
function infiniteLoop() {
while (true) {
console.log("Forever...");
}
}
// 網羅性チェック
type Status = "success" | "error";
function handleStatus(status: Status) {
switch (status) {
case "success":
return "OK";
case "error":
return "Failed";
default:
const exhaustive: = status;
return exhaustive;
}
}