20分セッション
10:40 - 11:00 / kickflowトラック
TSは柔軟性の高い型システムを持つ一方で、複雑な型の利用を避ける方は多いと思います。このセッションでは、それでも私が実プロダクトで型にこだわる理由について話します。
例えば (a: string[]) => ... は「文字列配列を受け取る」という表明しかしませんが、(a: NonEmptyArray<string>) => .. にすると「長さ1以上の配列」という、より厳密な表明ができます。かつ、それらが型システムによって保証されます。
引数の型を厳密にすれば、テストの数を減らし、関数内のバリデーションによる分岐を減らし、コードの複雑性を下げることができます
このセッションを通して型の役割、そして「なぜ型を書くのか?」について考えるきっかけにしてもらいたいと思います。

