米Microsoftは米国時間の2012年10月1日、JavaScriptに拡張を施した新言語「TypeScript」を発表した。C#の生みの親である同社Technical FellowのAnders Hejlsberg氏らが開発した。

 TypeScriptは、構文的にはJavaScriptのスーパーセットで、糖衣構文を付加したもの。膨大な人口を抱えるJavaScript開発者に配慮した形である。既存のJavaScriptライブラリなどと共に使うことができる。

 TypeScriptのコンパイラは、TypeScriptのソースコードを読み込んだ上で、JavaScriptのコードを出力する。コンパイラはオープンソースライセンス(Apache License 2.0)で公開した。

図●TypeScriptのサイト「Playground」でのデモの画面例<br>左側の画面で入力したTypeScriptのコードが、右側でJavaScriptのコードに変換される。左側のTypeScriptの画面上では、ブラウザー上でコード補完も働く。
図●TypeScriptのサイト「Playground」でのデモの画面例
左側の画面で入力したTypeScriptのコードが、右側でJavaScriptのコードに変換される。左側のTypeScriptの画面上では、ブラウザー上でコード補完も働く。
[画像のクリックで拡大表示]

 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のデモサイトへ]
[発表資料へ]