6 ポイント 投稿者 GN⁺ 2025-06-30 | 1件のコメント | WhatsAppで共有
  • ECMAScript 2025が2025年6月25日に正式標準として承認され、さまざまな新機能が追加
  • Import attributesJSONモジュールにより、JavaScript以外のリソースのインポート方法を改善
  • Iterator helper methodsにより、大規模データ処理や多様な反復処理の効率が向上
  • SetRegExpなど主要な組み込みオブジェクトに多数の新メソッドが追加され、使い勝手を強化
  • 16ビット浮動小数点(float16)のサポートなどにより、データ処理性能と表現力を拡張

ECMAScript 2025の正式承認

  • 2025年6月25日、Ecma International第129回総会でECMAScript 2025が正式標準として承認

主な新機能

Import attributesとJSONモジュール

  • Import attributesは、JavaScript以外のアーティファクト(インポート対象リソース)に対して、型などの属性を明示できる構文
  • JSONモジュールを初めて正式サポートし、import configData from './data.json' with { type: 'json' }; の形で簡単にJSONデータを読み込み可能
  • 動的import(import()呼び出し)でも同様に属性を指定可能

Iterator helper methods

  • Arrayメソッドに似ているが、iteratorに特化したさまざまなヘルパーメソッドを導入
    • filter, map, flatMap, some, every, find, reduce, forEach など既存に近いメソッド
    • drop, take, toArray などイテレータ専用の新メソッドを含む
  • SetMapなどすべてのiterableオブジェクトで直接利用可能
  • 中間配列を生成せず、必要な分だけ順次処理するため、大規模データに効果的

Setメソッドの拡張

  • 和集合積集合差集合対称差集合(symmetric difference)演算メソッドを追加
    • Set.prototype.union(other), intersection(other), difference(other), symmetricDifference(other)
  • 部分集合/上位集合/互いに素の判定メソッドを提供
    • isSubsetOf(other), isSupersetOf(other), isDisjointFrom(other)

正規表現の改善

RegExp.escape()

  • 任意の文字列を正規表現内で安全に使用できるよう自動でエスケープするRegExp.escape()を導入

パターン内インラインフラグ(Inline flags)

  • 正規表現内の一部パターンにのみ個別フラグi, u など)を適用可能に
    • 例: /^x(?i:HELLO)x$/ はHELLO部分だけを大文字・小文字を区別せずにマッチ

重複名キャプチャグループのサポート

  • 正規表現の各代替分岐(branch)ごとに同じ名前のキャプチャグループを使用可能
    • 例: /(?<chars>a+)|(?<chars>b+)/v

Promise.try()

  • 同期/非同期コードの混在処理を単一のPromiseチェーンで開始できるPromise.try()を導入
    • これまでは同期例外の処理が煩雑だったが、より簡潔に扱えるようになった

16ビット浮動小数点(float16)のサポート

  • Math.f16round()で16ビット浮動小数点への丸め処理が可能
  • TypedArrayFloat16Array型を追加
  • DataViewgetFloat16(), setFloat16()メソッドを導入

参考資料と無料書籍

  • 無料オンライン書籍 “Exploring JavaScript (ES2025 Edition)” を提供
    • JavaScriptの歴史と発展、新しいECMAScript機能などを詳しく解説
    • 主な新機能ごとに実際の使用例と説明を提供

1件のコメント

 
smboy86 2025-06-30

前のプロジェクトで、なぜ json の読み込みができないのか分からなかったんですが、
もともとサポートされていなかったんですね……。