トーク

スポンサーLT
バランスを見極めよう!実装の意味を明示するための型定義
DAY2 / 12:10 〜 13:10 (トグルルーム)
TypeScript には優秀な型推論の仕組みがあり、多くの型注釈を省略してコードを書いても問題なく開発が行えます。 JavaScript では一部、引数や戻り値を省略すると undefined として評価され、構文上もランタイム上もそれだけではエラーにはなりません。このように、いろいろなものを暗黙的にしたままコードを書いていても、静的型解析によりある程度の堅牢性が担保できるのは TypeScript の良いところです。 しかし、長期にわたり複数人でメンテナンスするコードベースでは、あえて明示的に書いておいたほうが良いもの(型注釈, 引数, etc.)があります。暗黙的にしておくと、将来の変更によって実装当初の前提や結果が崩れるだけでなく、それに気が付きにくくなる場合があるからです。 ダイニーではこれを防ぐために意識していることがあります。今回はその中からいくつかピックアップしてご紹介します。