読書メモ:プログラミングTypeScript
最近、自分で開発したWeb3アプリであるuniversalbase.xyzをリリースしましたが、こちらはフロントエンドの実装でReactおよびTypeScriptを使用したので購入しました。
TypeScriptは、JavaScriptの拡張言語に位置づけされ、JavaやC#のような静的型付機能を付与することができます。
これにより動的型付による意図しない型変換や、文字列に数字が入ってほしくない場合や、数字に文字列が入ってほしくない場合などに、意図しない型変換を防ぐことができます。
それによって、バグを防いだり、悪意のある入力も妨げることができるのでセキュリティも向上します。
また、インターフェースを活用した大規模開発も可能です。
この書籍は、TypeScriptの基本から応用まで述べられており、TypeScriptの高度な型知識が身に付きます。
自分はというと、3章までは理解できたのですが、4章からかなり難しく感じました。
おそらく、TypeScriptの型システムは柔軟であるものの、Javaと同様に応用レベルに行くと、想定しているシーンが高度なため想像しにくくなり、その型システムを利用する意図を理解することがかなり難しくなってきます。
書籍でも述べられていましたが、TypeScriptの導入にはグラディエーションがあります。
ガチガチに型で制限しすぎずに、型安全が必要とされるデータの入出力やDBなどの受け渡し箇所でTypeScript段階的に導入していく方が良さそうです。
またあまりに応用が過ぎると、型だけに型苦しくなり、ハッカー気質ではない一般的なエンジニアでは理解できなくなるデメリットもありそうです。
Next.jsなどのフレームワークなどで必要とされるTypeScriptの型の知識や場面など、そのアプリの特性によって多少違ってくるかもしれません。
個人的には、IDEがある程度補完してくれるものの、頼りすぎることはせず、この書籍を今後はレファレンスとして活用して少しづつTypeScriptの活用範囲を広げていこうと思います。