問題一覧に戻る
上級高度な型
問題51: 型ガード関数
is演算子を使って、型ガード関数を定義する方法を学びます。実行時の値チェックと型の絞り込みを連携させることで、より安全なコードを書くことができます。カスタム型ガードを作成し、複雑な型判定を実装できるようになります。
// 基本的な型ガード
function isString(value: unknown): value string {
return typeof value === "string";
}
// カスタム型ガード
interface Cat {
meow: () => void;
}
function isCat(animal: any): animal Cat {
return "meow" in animal;
}