TypeScript[1]はaltJS(代替JavaScript[2])の一つ。
JavaScript[2]は型定義がないことやプロトタイプベースのクラス定義を採用しているなど、大規模開発では使いづらい面がある。 ゲーム制作などだとコード量が多いのでデバッグがすごく大変になる。 そこで代わりの言語を用いて開発し、それを変換してJavaScript[2]にする、その代替言語がaltJS。 変換時に型チェックなどを行ってくれるので、実行時エラーが出にくくなり開発しやすい。 ただし小規模開発だとテストやデバッグの手間がもともと少ないのでさほど利点はない。
TypeScript[1]はマイクロソフトが開発しており、文法はJavaScript[2]に型定義などの文法を加えただけで、JavaScript[2]と互換性がある。
altJSを使うと言っても、ライブラリを使ったり大まかな仕組みなどを把握しておくにはもとのJavaScript[2]の知識は必須となる。 そのため、altJSを使うときにはそのaltJSとJavaScript[2]両方の文法を覚えなければならない。 その点、JavaScript[2]と互換性があり、共通の部分が多いTypeScript[1]は覚えることが少なく学習しやすい。また、大手であるマイクロソフトが開発しているので将来性も比較的安心。
主なライブラリと連動するための型定義ファイルも用意されているので、従来のライブラリを用いた開発でエディタのコード補完が使える。
また、TypeScript[1]は変換後のJavaScript[2]が比較的読みやすい。このため、万が一TypeScript[1]が無くなったとしても、変換後のJavaScript[2]ファイルをメンテナンスするのも不可能では無い。
このような理由からか、いろいろあるaltJSの中でも2015年ごろから他を引き離して普及してきている。 altJSはもし将来利用する人が少なくなって開発が止まると、それまでの資産が活かしづらくなってしまう。 開発者が多い言語を選んでおくとあとあと安心でもある。
ただし、JavaScript[2]互換と言うことは、良くない意味でJavaScript[2]的にも書けてしまうと言うことでもある。言語的に洗練された物が欲しければ、他のaltJSを試した方が良いかもしれない。
WindowsならマイクロソフトのVisual Studioで変換できる。 Node.jsを使ってコマンドラインからの変換も可能で、こちらならMacからも利用できる。
TypeScript[1]はエディタの補完がしやすくなる工夫がなされた言語なので、いろいろなエディタで補完がきき開発しやすい。 TypeScript[1]に対応した使い慣れたエディタなどが無いなら、Windows、Mac、Linuxで動作するVisual Studio Codeを使うのが無難。
(This host) = https://njf.jp