型、書いてる? TypeScript ではざっくり以下の場合には型を書かなければならない。 APIのレスポンスなど、ソースコードの外から与えられる情報に型を与えるとき 引数や戻り値が any や unknwon で定義されている、やる気のないライブラリの戻り値に型情報を与えるとき 関数を定義するとき このとき、面倒だからと言って愚直な型定義をすると、if 文で型ガードを書きまくる羽目になって、むしろ手間が増えるなんてことが起こる。 機械的にやらせたいところだけど、現状人間が書くしか無いのでとにかくめんどくさい。 でもそれ、もしかしたら型定義のほうを工夫すると一気に楽になるかも?ということで、普段使っている手法を3つほど挙げることにする。 黒魔術は使わず直感的な書き方のものだけを挙げたので、あまり気張らずに読める内容になっていたら幸いです。 共通項がないオブジェクトの型を切り替える 「共通項