検索
ニュース

プログラミング言語「TypeScript 4.5」をMicrosoftが公開機能を大幅に拡充

Microsoftはオープンソースのプログラミング言語の最新版「TypeScript 4.5」を公開した。「Awaited」型の導入など、多くの機能が追加、強化され、パフォーマンスも向上している。

Share
Tweet
LINE
Hatena

 Microsoftは2021年11月17日(米国時間)、オープンソースのプログラミング言語の最新版「TypeScript 4.5」を公開した。「Awaited」型の導入など、多くの新しい機能や改善があり、生産性やパフォーマンスも向上している。

 TypeScriptは静的型付けができる言語であり、JavaScriptのスーパーセットだ。ECMA規格に従った最新のJavaScriptの機能を、古いWebブラウザやランタイムが扱えるようにコンパイルすることもできる。

 NuGetを使うか、次のコマンドラインのように、npmを使ってTypeScript 4.5をインストールできる。

npm install typescript

 TypeScript 4.5は「Visual Studio 2019」と「Visual Studio 2017」のエディタでサポートされており、「Visual Studio Code」(以下、VS Code)、「Sublime Text 3」でも利用できる。TypeScript 4.5の主な特徴は次の通り。

「Awaited」型の導入と「Promise」の改良

 新しいユーティリティー型「Awaited」が導入された。Awaitedは、「async」関数の「await」や、「Promise」の「.then()」メソッド(Promiseを再帰的にアンラップする方法)のような操作のモデル化を目的としている。

// A = string
type A = Awaited<Promise<string>>;
// B = number
type B = Awaited<Promise<Promise<number>>>;
// C = boolean | number
type C = Awaited<boolean | Promise<number>>;

 加えて、「Promise.all」レバレッジが特定の機能とAwaitedを組み合わせ、より良い推論結果を提供するようになった。

「node_modules」からの「lib」のサポート

 特定のビルトインlibを、「@types/」サポートの仕組みと似た方法でオーバーライドする方法が導入された。どのlibファイルを含めるべきなのかを判断する際、TypeScriptはまず、「node_modules」のスコープされた「@typescript/lib-*」パッケージを探す。例えば、「dom」をlibのオプションとして含めるとき、TypeScriptは、「node_modules/@typescript/lib-dom」の型が使用可能な場合、それを使用する。

 次に、パッケージマネジャーを使って、所定のlibに取って代わる特定のパッケージをインストールできる。例えば、TypeScriptは現在、@types/webでDOM APIのさまざまなバージョンを公開している。プロジェクトを特定のバージョンのDOM APIにロックしたい場合、次のコードを「package.json」に追加すればよい。

{
 "dependencies": {
    "@typescript/lib-dom": "npm:@types/web"
  }
}

 TypeScript 4.5から、TypeScriptを更新すると、依存関係マネジャーのロックファイルが、同じバージョンのDOMタイプが使われることを保証するようになった。このため、タイプを自分のペースで更新できる。

判別式としてのテンプレート文字列型に対応

 テンプレート文字列型を持つ値を絞り込めるようになり、テンプレート文字列型を判別式として認識するようになった。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る