TypeScriptのバージョン2.5でMicrosoftが注目したのは、開発者の生産性と、コードエディタの共通機能を提供することによる機能範囲の拡大の実現である。

C#などの型付き言語に慣れた開発者は、共通的なリファクタリングを簡単に実行可能なツールの利便性を享受している。TypeScriptにも今回、コード情報を利用して、Extract FunctionとExtract Methodという２つのリファクタリングを実行する機能が導入された。ただしTypeScriptは言語サービスであってエディタではない。従ってこの機能が言語サービスに追加されたというのは、すべてのエディタがこのリファクタリングを提供するサービスにフック可能になった、という意味だ。TypeScriptのプログラムマネージャであるDaniel Rosenwasser氏は、チームが言語だけではなく、開発者のエクスペリエンスを重視していると述べている。

TypeScriptは編集のエクスペリエンスを念頭に開発された言語です。そのため私たちのチームでは、コンパイラや型チェッカと同時に、VS Codeのようなエディタの強化を考慮した言語サービスにも取り組んでいます。VSとVS Codeだけではありません。今回の変更は言語サービスを利用するすべてのエディタで使用可能なので、TypeScriptユーザであれば、これらの編集機能について知っておくと便利だと思います。

これらのリファクタリングは、間もなくVS CodeとVisual Studioに実装される予定だ。

さらにMicrosoftは、JSDoc型宣言の想定外の使用や不正な型参照をキャッチすることで、“クイックフィックス”のレパートリを充実させている。言語サービスとしてのクイックフィックスはTypeScript 2.1で導入されたもので、スペルやインポートの欠落、 this 忘れ、未使用の宣言などの修正を含む他、ロードマップにはさらに多くのフィックスが掲載済みである。

今回のリリースでは言語機能の変更は少ないが、ひとつだけ注目すべきなのはオプショナル catch 変数と呼ばれるものだ。この機能はエラーをキャッチする必要はあるが、エラーの内容について意識する必要がない場合に便利なもので、ECMAScriptの提案にも実際に含まれている。これによって以下のような、キャッチするエラーの宣言を含まないコードが記述可能になる。

try { const result = someMethodThatWillThrowAnException (); } catch { contents = createDefaultContents (); }

TypeScriptの最新バージョンは、いつものように‘ npm install -g typescript ’、またはNuGetでインストールできる。