TSKaigi

トーク

バランスを見極めよう!実装の意味を明示するための型定義
スポンサーLT
バランスを見極めよう!実装の意味を明示するための型定義
DAY2 / 12:10 〜 13:10トグルルーム

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

畑田祥太

畑田祥太

株式会社ダイニー / プラットフォームエンジニア

2020年に株式会社メルカリにフロントエンドエンジニアとして新卒入社。2022年10月より株式会社ダイニーに入社し、システム障害時のクライアントアプリケーションの可用性向上や、フロントエンド・バックエンドの基盤整備などをほぼ全てTypeScriptで行っている。Spa LaQuaが好き。

X