型を書くべきとき
TypeScriptは、型を書けるし、書かないこともできる。それこそが利点だと私は考えているが、一部の人間は、anyは敗北だとか言う過激派がいる。もしそれであれば、TypeScriptをつかわずにElmやらPureScriptやらたぶんanyにすることができない言語を使うべきだろう。TypeScriptはanyを書くことができるのだから、anyを書くこと自体は敗北ではない。それで間違ったつかいかたをすればプログラマーの責任だし、anyを使うことで必ず問題が起きるというのであれば、それはTypeScriptの言語の問題であるように思える。 前置きが長くなったが、TypeScriptで、わたしが型を書くべきとき、書かないときの基準を書いてみることにしよう。
ローカル変数
privateメソッド
書かない。そのクラス内部のみに影響が収まるので、わりと省略する。(そのクラスで横断的に呼び出されるのであれば、時々書いたりする。) 型を書こうとすると非常に長くなるときは
書かない。たまにときどきある。その際は設計がおかしいことが多々あったりするので設計を見直すことが多い。
モジュールの外まで広範囲に影響するとき(つまりexportのクラスや、そのpublicメソッド等)
書く。これは当然だろう。