Microsoftは、オープンソースのプログラミング言語の最新版「TypeScript 5.3」を公開した。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Microsoftは2023年11月20日(米国時間)、オープンソースのプログラミング言語の最新版「TypeScript 5.3」を公開した。TypeScriptは、静的型付けができる言語で、JavaScriptのスーパーセットだ。ECMA規格に従った最新のJavaScriptの機能を、古いWebブラウザやランタイムが扱えるようにコンパイルすることもできる。
TypeScript 5.3では、import文に属性を追加可能にする機能や、JSDoc解析をスキップする最適化など、さまざまな機能追加、改善により効率的にコードを記述できるとしている。
TypeScript 5.3は、NuGetかnpmコマンドでインストールできる。
npm install -D typescript
特定のモジュールをどのように解釈すべきかランタイムに直接指定できるようになった。あるJSONファイルをインポートする際に単なるJSONデータであることを明示的にしたい場合、次のように属性を追加できるようになった。
// We only want this to be interpreted as JSON, // not a runnable/malicious JavaScript file with a `.json` extension. import obj from "./something.json" with { type: "json" };
これにより、./something.jsonはJSONファイルとして扱われるため、JavaScriptファイルとして実行されることはない。同機能はTypeScript 4.5で追加された型アサーションのインポートの進化版であり、import文でassertを使用している既存のコードは段階的にwithに移行させていくべきだと、Microsoftは述べている。
TypeScriptがモジュールをどのようにプロジェクトにインポートするかを指定するための属性であるresolution-modeが全てのモジュールで利用可能になった。開発者は特定のモジュールをimportかrequireのどちらでプロジェクトに読み込ませるか指定できるようになった。
Switch(True)を使用して変数の型の絞り込みを容易に記述できるようになった。
function f(x: unknown) { switch (true) { case typeof x === "string": // 'x' is a 'string' here console.log(x.toUpperCase()); // falls through... case Array.isArray(x): // 'x' is a 'string | any[]' here. console.log(x.length); // falls through... default: // 'x' is 'unknown' here. // ... } }
tscコマンドを実行する際、コンパイラはJSDocの解析をスキップするようになった。コンパイル時間やメモリ使用量が減り、プロセス全体を効率化できる。
TypeScript 5.3では他にも以下のような機能の追加や最適化、改善が実施されている。
Microsoftは、TypeScript 5.4の開発にも取り組んでおり、2024年2月末までに安定版を公開予定だと明らかにしている。
Copyright © ITmedia, Inc. All Rights Reserved.