「TypeScript 4.8」公開、プロなら知っておきたい変更点は?オブジェクト間の「==」や「===」での比較を禁止に

Microsoftは「TypeScript 4.8」を公開した。多くの機能改善によって、生産性やパフォーマンスを向上させている。

» 2022年09月01日 15時31分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 Microsoftは2022年8月25日(米国時間)、オープンソースのプログラミング言語の最新版「TypeScript 4.8」を公開した。

 型の絞り込み、テンプレート文字列型におけるinfer型の推論、“-build”、“--watch”、“--incremental”のパフォーマンス改善、バインディングパターンからの推論など、多くの機能改善が行われている。

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

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

npm install typescript

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

TypeScript 4.8の主な特徴

交差の縮小、ユニオンの互換性、絞り込みの改善

 TypeScript 4.8では、「--strictNullChecks」の下で、一連の正確性と一貫性が改善されている。これは交差型やユニオン型の動作に影響し、TypeScriptが型を絞り込む方法にも活用されている。

 例えば「unknown」は、「null」や「undefined」、その他の型を受け入れるため、考え方としてはユニオン型の「{} | null | undefined」に近い。TypeScriptはこれを認識し、「unknown」から「{} | null | undefined」に代入できるようになった。

画像

 もう1つの変更点は、他のオブジェクト型と交差する「{}」が、そのオブジェクト型まで単純化されることだ。「{} & null」と「{} & undefined」は捨てられるだけなので、「『NonNullable』が『{}』との交差を使うように書き換えることができた」と表現できる。

画像

 交差型はこのように縮小して代入できるが、条件型は現在それができないので、これも改善点の一つといえる。「NonNullable<NonNullable<T>>」は、これまでとは異なり、少なくとも「NonNullable<T>」に単純化されるようになった。

画像

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。