ECMAScript2021
JavaScriptのバージョン番号
古いJSバージョンは番号で命名されています:ES5(2009)およびES6(2015)。
2016年以降、バージョンはECMAScript2016、2017、2018、2019のように年によって名前が付けられます。
ES2021の新機能
- any()を約束する:
const first = await Promise.any([prom1,prom2,prom3]);
- 文字列replaceAll()
- 数値区切り記号(_)
ES2022の新機能
警告
これらの機能は比較的新しいものです。
古いブラウザでは、代替コード(Polyfill)が必要になる場合があります
JavaScript文字列ReplaceAll()
ES2021では文字列メソッドreplaceAll()
が導入されました。
このreplaceAll()
メソッドを使用すると、置換する文字列の代わりに正規表現を指定できます。
パラメータが正規表現の場合、グローバルフラグ(g)を設定する必要があります。設定しないと、TypeErrorがスローされます。
注記
ES2020文字列メソッドmatchAll()を導入しました。
JavaScript数値区切り記号(_)
ES2021では、数値をより読みやすくするために数値区切り文字(_)が導入されました。
数値区切り記号は、視覚的な使用のみを目的としています。
数値セパレータは、数値内のどこにでも配置できます。
注記
数値区切り記号は、数値の先頭または末尾には使用できません。
JavaScriptでは変数のみで開始できます。
数値区切り記号は、2020年1月以降、すべてのブラウザーでサポートされています。
Chrome75 | Edge79 | Firefox74 | Safari13.1 | Opera67 |
2019年6月 | 2020年1月 | 2019年10月 | 2019年9月 | 2019年6月 |
JavaScript配列at()
ES2022では配列メソッドが導入されましたat()。
例
フルーツの3番目の要素を取得します。
自分で試してみる»
フルーツの3番目の要素を取得します。
at()メソッドは[]と同じものを返します。
at()メソッドは、2022年3月以降、すべての最新ブラウザでサポートされています。
Chrome75 | Edge79 | Firefox74 | Safari13.1 | Opera67 |
2019年6月 | 2020年1月 | 2019年10月 | 2019年9月 | 2019年6月 |
注記
多くの言語では、[-1] のような負の括弧インデックスを使用して、オブジェクト/配列/文字列の末尾から要素にアクセスできます。
[] は配列とオブジェクトの両方にアクセスするために使用されるため、JavaScript ではこれは不可能です。
obj[-1] は、オブジェクトの最後のプロパティではなく、キー -1 の値を参照します。
この問題を解決するために、ES2022 でat()メソッドが導入されました。
JavaScript文字列at()
ES2022では、文字列メソッドat()が導入されました。
例
名前の3文字目を取得します。
自分で試してみる»
名前の3文字目を取得します。
at()メソッドは[]と同じものを返します。
このat()メソッドは、2022年3月以降、すべての最新ブラウザーでサポートされています。
Chrome75 | Edge79 | Firefox74 | Safari13.1 | Opera67 |
2019年6月 | 2020年1月 | 2019年10月 | 2019年9月 | 2019年6月 |
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。