主なメリットを 3 つ以下にまとめている。
- ドキュメントとしての側面
- 変数や定数の中にどんな種類の値が入っているか?や関数の戻り値はどんな種類の値か?がプログラムを読み込まなくても理解できる
- リンターとしての側面
- JavaScript より自由度が減る分、コーディングスタイルの一貫性が保てる。コードを書いている時点でエラーが表示されるため、バグに気づける。
- ES5 コンパイラとしての側面
TypeScript は JavaScript の機能をすべて利用できることからスーパーセット
とよばれている。(上位互換)つまり、JavaScript で書いたコードは TypeScript でもある。JavaScript を学習した人であれば、身につけた知識を活かしつつ、TypeScript を学習することができる。
(JavaScript に対するプラスアルファは 90%が型検査について)
型定義せずとも型推論ができるため、すべてを型定義する必要がない。 つまり、JavaScript で書かれたプログラムを一部のみ TypeScript に書き換えてコンパイルすることが可能なため段階的に利用できる。