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) {
... // ここは型推論が効く
})