Microsoft、プログラミング言語「TypeScript 5.3」を公開Switch(True)文で変数の型の絞り込みが容易に

Microsoftは、オープンソースのプログラミング言語の最新版「TypeScript 5.3」を公開した。

» 2023年12月11日 10時30分 公開
[@IT]

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

 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

TypeScript 5.3の主な新機能

Import文で属性を追加可能に

 特定のモジュールをどのように解釈すべきかランタイムに直接指定できるようになった。ある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は述べている。

モジュールの読み込み形式を指定できるresolution-modeを改善

 TypeScriptがモジュールをどのようにプロジェクトにインポートするかを指定するための属性であるresolution-modeが全てのモジュールで利用可能になった。開発者は特定のモジュールをimportかrequireのどちらでプロジェクトに読み込ませるか指定できるようになった。

Switch(True)を使用して変数の型の絞り込みが容易に

 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.
          // ...
    }
}
Switch(True)とcase文を組み合わせて変数の型を絞り込み、処理を実行する例

JSDoc解析をスキップする最適化

 tscコマンドを実行する際、コンパイラはJSDocの解析をスキップするようになった。コンパイル時間やメモリ使用量が減り、プロセス全体を効率化できる。

 TypeScript 5.3では他にも以下のような機能の追加や最適化、改善が実施されている。

  • ブール値の比較を用いた型の絞り込みに対応
  • instanceof演算子を用いた型の絞り込みで、Symbol.hasInstanceが利用可能に
  • 基底クラスのメソッドやプロパティにアクセスする「super」の振る舞いを改善
  • 特定の型の定義を1クリックで確認できるインレイヒントの改善
  • 型の自動インポートの設定を細かく制御できるように改善
  • 合併型と交差型の比較を最適化
  • tsserverlibrary.jsとtypescript.jsの統合によるパフォーマンス向上

 Microsoftは、TypeScript 5.4の開発にも取り組んでおり、2024年2月末までに安定版を公開予定だと明らかにしている。

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

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

メールマガジン登録

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