ECMAScript 2020
JavaScriptのバージョン番号
古いJSバージョンは、ES5(2009)およびES6(2015)という番号で名前が付けられています。
2016年以降、バージョンはECMAScript2016、2017、2018、2019のように年によって名前が付けられます。
ES2020の新機能
- BigInt
- 文字列matchAll()
- Nullish合体演算子(??)
- オプションの連鎖演算子(?.)
- 論理AND代入演算子(&&=)
- 論理OR代入(||=)
- Null合体代入(??=)
- allSettled()を約束する:
Promise.allSettled([prom1,prom2,prom3]).then {}
- 動的インポート
警告
これらの機能は比較的新しいものです。
古いブラウザでは、代替コード(Polyfill)が必要になる場合があります
JavaScript BigInt
JavaScript BigInt
変数は、通常のJavaScriptNumber
では表現できないほど大きな整数値を格納するために使用されます。
JavaScriptの整数は、約15桁までしか正確ではありません。
整数の例
BigIntの例
BigInt
を作成するには、整数の末尾にnを追加するか、BigInt()
を呼び出します。
JavaScripttypeof
aBigInt
は「bigint」です:
BigInt
2020年9月以降、すべてのブラウザーでサポートされています。
Chrome67 | Edge79 | Firefox68 | Safari14 | Opera54 |
2018年5月 | 2020年1月 | 2019年7月 | 2020年9月 | 2018年6月 |
JavaScript文字列matchAll()
ES2020より前は、文字列内の文字列のすべての出現を検索するために使用できる文字列メソッドはありませんでした。
パラメータが正規表現の場合、グローバルフラグ(g)を設定する必要があります。設定しないと、TypeErrorがスローされます。
大文字と小文字を区別しないで検索する場合は、insensitiveフラグ(i)を設定する必要があります。
ノート
ES2021文字列メソッドreplaceAll()を導入しました。
The Nullish Coalescing Operator(??)
??
演算子は、最初の引数がnullでない(null
またundefined
)場合に返します。
それ以外の場合は、秒を返します。
nullish演算子は、2020年3月以降、すべてのブラウザーでサポートされています。
Chrome80 | Edge80 | Firefox72 | Safari13.1 | Opera67 |
2020年2月 | 2020年2月 | 2020年1月 | 2020年3月 | 2020年3月 |
オプションの連鎖演算子 (?.)
オプションの連鎖演算子は、undefinedオブジェクトがundefined
の場合にnull
(エラーをスローする代わりに)返します。
?.=
operator は、2020年3月以降、すべての最新ブラウザでサポートされています。
Chrome80 | Edge80 | Firefox74 | Safari13.1 | Opera67 |
2020年2月 | 2020年2月 | 2020年3月 | 2020年3月 | 2020年3月 |
&&=演算子
論理AND代入演算子は2つの値の間で使用されます。
最初の値がtrue
、2番目の値が割り当てられます。
の&&=
operator は、2020 年 9 月以降、すべてのブラウザーでサポートされています。
Chrome85 | Edge85 | Firefox79 | Safari14 | Opera71 |
2020年8月 | 2020年8月 | 2020年3月 | 2020年9月 | 2020年9月 |
||= 演算子
論理OR代入演算子は2つの値の間で使用されます。
最初の値がfalse
、2番目の値が割り当てられます。
この||=演算子は、2020年9月以降、すべての最新ブラウザでサポートされています。
Chrome85 | Edge85 | Firefox79 | Safari14 | Opera71 |
2020年8月 | 2020年8月 | 2020年3月 | 2020年9月 | 2020年9月 |
??= 演算子
Nullish Coalescing Assignment Operatorは2つの値の間で使用されます。
最初の値がundefined
またnull
、2番目の値が割り当てられます。
この??=演算子は、2020年9月以降、すべての最新ブラウザでサポートされています。
Chrome85 | Edge85 | Firefox79 | Safari14 | Opera71 |
2020年8月 | 2020年8月 | 2020年3月 | 2020年9月 | 2020年9月 |
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。