ECMAScriptの変更履歴・外部リンク

各バージョンの差分

ES2019 (10) ⇒ ES2020 (11)

項目備考
String【文字列】オブジェクト ・メソッド
 matchAll()【正規表現検索 (詳細イテレータ)】追加
import動的 import() 追加
BigInt【任意精度整数】オブジェクト 標準組み込みオブジェクトに追加
Promise【延期・非同期処理】オブジェクト ・メソッド
 allSettled 追加
globalThis【グローバル this値】グローバル オブジェクトに追加
exportexport * as ns from 'module' 追加
for-in列挙順序の固定
import.meta追加
??【合体 演算子】追加
?.【オプショナル チェイニング演算子】追加
Intl.Locale【Unicode ロケール識別子】 オブジェクト追加
Intl.RelativeTimeFormat【相対時刻フォーマット】 オブジェクト追加

ES2018 (9) ⇒ ES2019 (10)

項目備考
構文try-catch の 例外オブジェクト引数省略可能
文字列リテラル エスケープされていない下記コードを許可
(詳細は、JSON オブジェクト 参照)
・U+2028 (LINE SEPARATOR)
・U+2029 (PARAGRAPH SEPARATOR)
Array【配列】オブジェクト ・メソッド
flat【配列生成 (深さ指定)】追加
flatMap【配列生成 (関数指定)】追加
sort【ソート】 順序固定
Function【関数】オブジェクト toString【文字列変換】 仕様変更
JSON【JavaScript Object Notation】オブジェクト ・メソッド
stringify()【JavaScript 値 ⇒ JSON テキスト】
  不正なサロゲートペアはエスケープしたコード文字列を返却
Object【オブジェクト】オブジェクト ・メソッド
fromEntries 追加
String【文字列】オブジェクト ・メソッド
trimEnd【末尾の空白削除】追加
trimStart【先頭の空白削除】追加
Symbol【一意シンボル】オブジェクト ・プロパティ
description【説明】追加
Atomics【不可分操作】オブジェクト ・メソッド
wake を notify に名前変更

ES2017 (8) ⇒ ES2018 (9)

項目備考
式・演算子・...【スプレッド演算子】がオブジェクトにも使用可
構文 ・非同期対応のイテレータ (for-await-of) 追加
タグ付きテンプレートリテラルの仕様変更
 不正なエスケープシーケンスは、SyntaxError例外 ではなく undefined
Promise【延期・非同期処理】オブジェクト ・メソッド
 finally() 追加
RegExp【正規表現】オブジェクト s【改行文字対応】フラグの追加
・各種正規表現パターン追加
 名前付きキャプチャ (?<name>~)
 名前付きキャプチャの後方参照 \k<name>
 肯定後読み (?<=~)
 否定後読み (?<!~)
 ユニコード文字プロパティ
・メソッド (名前付きキャプチャ 対応)
 exec【検索】
String【文字列】オブジェクト ・メソッド (名前付きキャプチャ 対応)
 match【正規表現検索 (詳細)】
 replace【置換 (正規表現可・関数指定可)】
Intl.PluralRules【複数形ルール】 オブジェクト オブジェクト 追加

ES2016 (7) ⇒ ES2017 (8)

追加備考
関数非同期関数
引数の末尾カンマ有効
標準組み込みオブジェクト Atomics【不可分操作】
SharedArrayBuffer【共有バイナリデータ配列】
Object【オブジェクト】オブジェクト
メソッド
・メソッド
entries
getOwnPropertyDescriptors
values
String【文字列】オブジェクト
メソッド
・メソッド
padEnd【末尾パディング】
padStart【先頭パディング】

ES2015 (6) ⇒ ES2016 (7)

追加備考
式・演算子**【べき乗 演算子】
**=【べき乗代入 演算子】
Array【配列】オブジェクト
メソッド
・メソッド
includes【存在確認】
~Array【型指定配列ビュー (%TypedArray%)】オブジェクト
メソッド
・メソッド
includes【存在確認】
Intl【国際化API名前空間】オブジェクト ・メソッド
Intl.getCanonicalLocales【標準ロケール名取得】
変更備考
Date【日時】オブジェクト 日時文字列フォーマット
タイムゾーン オフセット省略時の解釈:
日付のみはUTC時刻、日付+時刻はローカル時刻

ES5.1 ⇒ ES2015 (6)

追加備考
変数・データ型 const【定数定義】
let【局所変数定義】
Symbol型【シンボル型】
式・演算子 分割代入
yield
yield*
...【スプレッド演算子】
構文 テンプレートリテラル
2進数 (0b~・0B~)
8進数 (0o~・0O~)
for-of
コメント (<!--~)
関数 アロー関数 (=>)
デフォルト引数
可変長引数
複数値返却 (分割代入)
メソッド簡略構文
getter/setterの関連付け
クラスclass
標準組み込みオブジェクト ~Array【型指定配列ビュー (%TypedArray%)】
    実装:
    Int8Array【8ビット 符号あり整数】
    Uint8Array【8ビット 符号なし整数】
    Uint8ClampedArray【8ビット 符号なし整数】
    Int16Array【16ビット 符号あり整数】
    Uint16Array【16ビット 符号なし整数】
    Int32Array【32ビット 符号あり整数】
    Uint32Array【32ビット 符号なし整数】
    Float32Array【32ビット IEEE 浮動小数点】
    Float64Array【64ビット IEEE 浮動小数点】
ArrayBuffer【バイナリデータ配列】
DataView【データビュー】
Generator【ジェネレータ】
GeneratorFunction【ジェネレータファンクション】
Map【マップ】
Promise【延期・非同期処理】
Proxy【プロキシ】
Reflect【反映】
Set【一意コレクション】
Symbol【一意シンボル】
WeakMap【弱参照マップ】
WeakSet【弱参照一意コレクション】
Array【配列】オブジェクト
プロパティ・メソッド
・プロパティ
[@@species]【コンストラクタ定義】
[@@unscopables]【with 除外プロパティ】
・メソッド
[@@iterator]【イテレータ取得】
copyWithin【内部コピー】
entries【イテレータ取得 (キー・値)】
fill【指定値設定】
find【値検索 (ユーザ関数)】
findIndex【インデックス検索 (ユーザ関数)】
from【配列生成 (オブジェクト指定)】
keys【イテレータ取得 (キー)】
of【配列生成 (要素指定)】
values【イテレータ取得 (値)】
Function【関数】オブジェクト
プロパティ・メソッド
・プロパティ
name【関数名】
・メソッド
[@@hasInstance]
Math【数学】オブジェクト
プロパティ・メソッド
・プロパティ
[@@toStringTag]【タグ】
・メソッド
acosh【ハイパボリックアークコサイン (逆双曲線余弦)】
asinh【ハイパボリックアークサイン (逆双曲線正弦)】
atanh【ハイパボリックアークタンジェント (逆双曲線正接)】
cbrt【立方根】
clz32【32ビットバイナリ先行0ビット数】
cosh【ハイパボリックコサイン (双曲線余弦)】
expm1【ex - 1】
fround【最も近い単精度浮動小数点形式数】
hypot【二乗和の平方根】
imul【符号付き32ビット整数乗算】
log1p【1 + 数値の自然対数】
log2【底2の対数】
log10【底10の対数】
sign【数値の符号】
sinh【ハイパボリックサイン (双曲線正弦)】
tanh【ハイパボリックタンジェント (双曲線正接)】
trunc【数値の整数部分】
Number【数値】オブジェクト
プロパティ・メソッド
・プロパティ
EPSILON【最小の数値差】
MAX_SAFE_INTEGER【正確な最大整数値】
MIN_SAFE_INTEGER【正確な最小整数値】
・メソッド
isFinite【有限数 判定】
isInteger【整数 判定】
isNaN【非数 判定】
isSafeInteger【正確な整数値 判定】
parseFloat【文字列→浮動小数点数 変換】
parseInt【文字列→整数値 変換】
Object【オブジェクト】オブジェクト
プロパティ・メソッド
・プロパティ
__proto__【内部プロトタイプ】
・メソッド
assign【プロパティ コピー】
getOwnPropertySymbols【シンボル プロパティ 取得】
is【同一判定】
setPrototypeOf【プロトタイプ設定】
RegExp【正規表現】オブジェクト
プロパティ・メソッド
・プロパティ
[ @@species ]【コンストラクタ定義】
flags【使用フラグ】
sticky【'y'(検索開始位置固定) フラグ使用有無】
unicode【'u'(Unicode) フラグ使用有無】
・メソッド
[ @@match ]【検索 (詳細)】
[ @@replace ]【置換】
[ @@search ] 【検索 (簡易)】
[ @@split ]【分割】
compile【コンパイル】
String【文字列】オブジェクト
プロパティ・メソッド
・メソッド
[@@iterator]【イテレータ取得】
codePointAt【指定位置のコードポイント値】
endsWith【終了文字列判定】
fromCodePoint【コードポイント値から文字列生成】
includes【部分文字列判定】
normalize【正規化】
raw【生の文字列取得】
repeat【文字列の繰り返し】
startsWith【開始文字列判定】
モジュール化import【インポート】
export【エクスポート】
変更備考
Date【日時】オブジェクト 日時文字列フォーマット
タイムゾーン オフセット省略時の解釈:
ローカル時刻