created: 2019-10-31T23:03:40.000Z

TypeScript の Type Guard を使う

typescriptでは型をチェックするような分岐を書くことができる
その分岐の中だと「この変数はこの型」というのをコンパイラ/エディタが認識してくれる

型をチェックできる条件の書き方は、返り値の型のところに工夫をすればよい

  • 型を pet is Fish と書いて
  • booleanを返す関数を書く
function isFish(pet: Fish | Bird): pet is Fish {
    return (pet as Fish).swim !== undefined;
}

こうすると isFish が true だった場合の分岐で型推論が効くようになる

if (isFish(obj) {
  ...  // ここは型推論が効く
})

参考

単体テストの考え方/使い方
[ad] 単体テストの考え方/使い方
Vladimir Khorikov, 須田智之 (単行本(ソフトカバー))