TypeScriptとは何か
- 一言で、かつ誤解を恐れずに言えば「型が追加されたJavaScript」
はっきりしておきたいこと(私のスタンス)
- 型のある言語が好きだーーー!
注意力散漫な私には凡ミスを防ぐ機構が大変ありがたい - 一方で「ちゃんとテスト書く前提ならそこまで型を厳密にしなくてよくね?」というスタンスには妥当性があると考えます
- NGなのは、誤りが起きにくくする工夫をせずにプログラムを書くこと、だと思う
TypeScriptがなぜ必要か
- JavaScriptは大規模になっていく一方
- 言語仕様的に、JavaScriptは落とし穴が多い
特に型変換とnull/undefinedは奇怪すぎる
減る手間と増える手間
- 減る手間:凡ミスに悩まされる時間
これが嬉しい! - 増える手間:ビルド!
これが大きなハードル。だが、苦労してビルド環境を整える価値はあると声を大にして言いたい
どうせCSSメタ言語でもビルド必要になるし - 増える手間:学習コスト(TypeScriptの一部使用は非常に難解)
ときに、型に関するエラーは呪文に見える
使いこなしすぎないようにするのが大事
TypeScriptならではの特徴
- JavaScriptも、TypeScriptとして解釈可能
つまり、JSとTSが混在可能 → 無理のない移行が可能
TypeScriptの重要性
- 他にもJavaScriptを安全に書く言語はある
- TypeScriptは汎用性が高い
Webアプリで言えば、ブラウザ/サーバの両方で使える
それ以外でもAzure Functions/AWS Lambdaでのサポートが厚かったりする(実行速度も速い)
まとめ
- 徐々に導入していけるTypeScriptはJavaScriptでの開発に限界を感じてるいる場合の現実解
- 活用の幅が広いTypeScriptを覚えると技術者として確実にレベルアップできる