なぜTypeScriptが選ばれるのか
今回は "TypeScript" にスポットを当てて書いていきます。
名前は聞いたことがあるという人が多いのでは無いでしょうか。
JavaScriptに興味を持つ世界中のIT技術者1万11761人にアンケートを取り、結果をまとめた「The State of JavaScript 2021」によると、TypeScriptは今回もAltJS[1]で利用率69%と、安定的にトップを維持しています。
なぜTypeScriptはここまで支持され、選ばれて続けているのでしょうか。
今回はそんな疑問について書いていきたいと思います。
TypeScriptとは
そもそもTypeScriptとはどんな言語なのか紹介しておきましょう。
既存のJavaScriptに"型の指定"ができるように進化させた 「型推論[2]付きの静的型付け[3]言語」 で、JavaScriptと同様WebサイトやWebアプリケーション開発に適しています。
簡単に言ってしまうと JavaScript + 静的型付け = TypeScript ということですね。
静的型付けが生むメリット
パッと聞くと「静的型付けができるだけ?」と思うかもしれません。
ただ、この静的型付けこそTypeScriptが選ばれる大きなメリットがあります。
いくつか代表的なものを見ていきたいと思います。
1. エラーを未然に防げる
TypeScriptの入力支援機能をサポートしているエディタであれば、静的型付けと異なるデータが入る可能性のあるコードに対しては、チェックメッセージが表示されます。
こうした機能を活用すれば、コンパイルや実行前にエラーを検知できるため、開発効率が向上します。
現役のプログラマーが最もメリットを感じやすい機能のひとつと言えます。
2. クラスベースのオブジェクト指向の拡張
下の表でわかる通りTypeScriptでは型に関する機能が拡張されました。
オブジェクト指向は、設計・開発の時間を短縮に繋がります。
また大きなシステムをクラスを使って細分化し、チームで分担しながら開発を進めるのにも適していると言えるでしょう。
機能名 | JavaScript | TypeScript |
---|---|---|
クラス構文 | ○ | ○ |
クラス継承 | ○ | ○ |
super | ○ | ○ |
コンストラクタ | ○ | ○ |
抽象クラス(abstract) | ✕ | ○ |
抽象メソッド | ✕ | ○ |
アクセス修飾子 | △ | ○ |
インターフェース | ✕ | ○ |
ジェネリクス | ✕ | ○ |
静的プロパティ | △ | ○ |
静的メソッド | △ | ○ |
finalクラス / sealedクラス | ✕ | ✕ |
finalメソッド | ✕ | ✕ |
https://typescriptbook.jp/reference/object-oriented/javascript-vs-typescript-in-oop-features
3. 可読性が高い
どこにどんな値が渡るのかが明示化されていることで、JavaScriptに比べ読みやすくなっています。
また2で書いたオブジェクト指向の拡張もコードの記述量が減ることから可読性の向上に一役買っています。
大規模な開発であるほどコードの読みやすさは保守・メンテナンス性の高さへと繋がっていきます。
4. JavaScriptとの互換性
JavaScriptのコードを処理に応じてTypeScriptに書き換えることが可能です。
既存システムのメンテナンス性を上げたり、JavaScriptで書いたコードをそのまま使えるため、比較的低いハードルから使い始めることができます。
まとめ
私は元々C言語を使っていたため、静的型付けやオブジェクト指向が使えるのはとても魅力的に感じました。
皆さんはいかがでしたでしょうか。
これを読んで少しでもTypeScriptに興味を持っていただけたら嬉しいです。
Discussion