ECMAScript

【JavaScript】 ECMAScript(ECMA-262)仕様書へのリンク

更新日:2020/05/12

ECMAScriptの過去のバージョン等を確認したいときのために、一覧でまとめておきました。

 

ECMAScriptへのリンク

2022年版:ECMAScript® 2022 Language Specification

最上位の await により、モジュールの最上位でawaitを使用可能。 新しいクラス要素: public および private インスタンス フィールド、public および private static フィールド、private インスタンス メソッドおよびアクセサー、private static メソッドおよびアクセサー追加。 クラスごとの評価の初期化を実行するための、クラス内の静的ブロック。 #x in obj 構文によるオブジェクトのプライベートフィールド存在テスト。 正規表現に、一致した部分文字列の開始インデックスと終了インデックスを提供する /d フラグ追加。 エラーの原因連鎖を記録するために使用できる Error オブジェクトの cause プロパティ追加。 文字列、配列、および TypedArray の at メソッドによる相対インデックス付け。 Object.prototype.hasOwnProperty の代替手段としてObject.hasOwn導入。

2021年版:ECMAScript® 2021 Language Specification

StringsにreplaceAllメソッド、Promise.anylメソッド、 一度に複数のエラーを表す新しいエラー型のAggregateError、 論理代入演算子 (??=、&&=、||=)を追加。ガベージ コレクションから保護せずにターゲットオブジェクトを参照するためのWeakRef と、ターゲットオブジェクトがガベージ コレクションされたときに実行されるクリーンアップ操作の登録と登録解除を管理するための FinalizationRegistry。数値リテラルのセパレータ (1_000)。Array.prototype.sort がより正確になり、実装定義の並べ替え順序になるケースの量が減少。

2020年版:ECMAScript® 2020 Language Specification

StringsにmatchAllメソッドを追加。import()構文、BigIntプリミティブ、Promise.allSettled、globalThisを追加。モジュール内で使用するための export * as ns from 'module' 構文、 for-in列挙順序の標準化の向上。Nullish Coalescing(Null合体?)とオプショナルチェイニングを追加。

2019年版:ECMAScript® 2019 Language Specification

Array.prototype.flat、Array.prototype.flatMap、Object.fromEntries、String.prototype.trimStart、String.prototype.trimEnd。構文とセマンティクスに対するマイナーな更新。Array.prototype.sortの安定化、Function.prototype.toStringの明確化。

2018年版:ECMAScript® 2018 Language Specification

AsyncIteratorプロトコルと非同期ジェネレーターによる非同期イテレーターのサポート。正規表現機能強化(dotAllフラグ、名前付きキャプチャグループ、Unicodeプロパティエスケープ、後読みアサーション)。オブジェクトのレストとスプレッド構文追加。

2017年版:ECMAScript® 2017 Language Specification

言語とライブラリの機能が強化。非同期関数、共有メモリ、アトミックの導入。Object.values、Object.entries、Object.getOwnPropertyDescriptorsの追加。

2016年版:ECMAScript® 2016 Language Specification

何千ものバグ修正。べき乗演算子のサポート。Array.prototypeにincludesメソッドを追加。

2015年版:ECMAScript® 2015 Language Specification

モジュール、クラス宣言、レキシカルブロックスコープ、イテレーターとジェネレーター、Promise、分割代入、 組み込みライブラリの拡張、2進数値のmap、set、配列などの追加のデータ抽象化、および文字列と正規表現のUnicode補足文字の追加サポート等。

5.1 版:ECMAScript® Language Specification 5.1 edition

マイナーな修正

5 版(PDF):ECMAScript Language Specification 5th edition

第3版の公開以降に出現した新機能のサポート(アクセサプロパティ、オブジェクトのリフレクティブ作成と検査、プロパティ属性のプログラム制御、配列操作関数、JSONオブジェクトエンコーディング形式のサポート、strictモード等)。

4版:合意に至らず破棄されたために存在せず

3版(PDF):ECMAScript LanguageSpecification 3rd edition

正規表現、文字列処理の改善、新しい制御ステートメント、try/catch例外処理、より厳密なエラー定義、数値出力のフォーマット、および今後の国際化機能と将来の言語の成長を見越した小さな変更

2版(PDF):ECMAScript LanguageSpecification 2nd edition

ISO / IEC 16262と完全に一致させるために修正。
第1版と第2版の機能的な差異はない。

1版(PDF):ECMAScript LanguageSpecification 1st edition

NetscapeのJavaScriptとMicrosoftのJScriptなどを元に、Webブラウザーに組み込むことを目的として開発された。

 

最新のECMAScriptへのリンク

最新年の仕様に加え、次年度に実装予定の仕様が含まれています。
これを見て、年次更新の前に実装を進めておくブラウザもあるようです。

ECMAScript最新:https://tc39.es/ecma262/

 

日本語訳

更新日:2020/05/12

書いた人(管理人):けーちゃん

スポンサーリンク

記事の内容について

null

こんにちはけーちゃんです。
説明するのって難しいですね。

「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。

裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。

掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。

ご意見、ご指摘はこちら。
https://note.affi-sapo-sv.com/info.php

 

このサイトは、リンクフリーです。大歓迎です。