米Microsoftは米国時間の2012年10月1日、JavaScriptに拡張を施した新言語「TypeScript」を発表した。C#の生みの親である同社Technical FellowのAnders Hejlsberg氏らが開発した。
TypeScriptは、構文的にはJavaScriptのスーパーセットで、糖衣構文を付加したもの。膨大な人口を抱えるJavaScript開発者に配慮した形である。既存のJavaScriptライブラリなどと共に使うことができる。
TypeScriptのコンパイラは、TypeScriptのソースコードを読み込んだ上で、JavaScriptのコードを出力する。コンパイラはオープンソースライセンス(Apache License 2.0)で公開した。
TypeScriptの特徴は、文字通り、JavaScriptに対し型システムを強化した点である。JavaScriptへのコンパイルの時点で、コンパイラが型チェックや型推論(type inference)を行う。型推論の機構があることで、プログラマーは明示的な型宣言を付与せずとも、Visual Studioの特徴であるコード補完機能「IntelliSense」をTypeScriptのコーディング中に利用できる。なお、TypeScriptのコンパイラは、TypeScript自身で記述されているため、ブラウザー上のエディタでもコード補完などが効く(図)。
なお、TypeScriptでは、型推論に任せるだけでなく、オプションで型アノテーションにより型を明示することもできる。このため、開発当初はJavaScriptのようなコードを記述しておき、徐々に型アノテーションを追加することでコードの品質を高める、といった開発スタイルが可能という。なお、型アノテーションはコンパイル後のJavaScriptコードでは除去される。
コマンドラインでも利用可能
TypeScriptを利用する方法は二つある。(1)Node.jsのパッケージとしてインストールする方法、(2)Visual Studio 2012向けのプラグインをインストールする方法---である。(1)の場合は、コマンドラインでTypeScriptコンパイラを利用できる。
Microsoftとしては、クライアント側のブラウザー上で動作させるアプリケーションやWindows 8(WinRT)向けアプリ、さらにはクラウド側(Windows Azure上のNode.jsなど)での利用を想定しているようだ。
[TypeScriptのサイトへ]
[TypeScriptのデモサイトへ]
[発表資料へ]