ECMAScript 2021
Nomor versi JavaScript
Versi JS lama dijenamakan berdasarkan angka: ES5 (2009) dan ES6 (2015).
Dari tahun 2016, versi dijenamakan berdasarkan tahun: ECMAScript 2016, 2017, 2018, 2019, ...
Fitur baru
Fitur baru di ES2021:
- Promise.any()
- Metode string replaceAll()
- Pemisah angka (_)
Fitur baru di ES2022:
- Metode array at()
- Metode string at()
- Ekspresi reguler /d
- Object.hasOwn()
- error.cause
- await import
- Metode dan field pribadi
- Pengumuman field klasse
Peringatan
Fitur ini relatif baru.
Browser yang lama mungkin memerlukan kode pengganti (Polyfill)
Metode string ReplaceAll() JavaScript
ES2021 memperkenalkan metode string replaceAll():
实例
text = text.replaceAll("Cats","Dogs"); text = text.replaceAll("cats","dogs");
Metode replaceAll() memungkinkan Anda menentukan ekspresi reguler daripada string yang akan diganti.
Jika parameter adalah ekspresi reguler, maka harus diatur tanda global (g
)
实例
text = text.replaceAll(/Cats/g,"Dogs"); text = text.replaceAll(/cats/g,"dogs");
提示:ES2020 引入了字符串方法 matchAll()。
JavaScript 数字分隔符 (_)
ES2021 引入了数字分隔符 (_
) 以使数字更具可读性:
实例
const num = 1_000_000_000;
数字分隔符仅供视觉使用。
实例
const num1 = 1_000_000_000; const num2 = 1000000000; (num1 === num2);
数字分隔符可以放在数字中的任何位置:
实例
const num1 = 1_2_3_4_5;
注意
数字分隔符不允许出现在数字的开头或结尾。
在 JavaScript 中,只有变量可以以 _ 开头。
自 2020 年 1 月以来,所有现代浏览器都支持数字分隔符:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 75 | Edge 79 | Firefox 74 | Safari 13.1 | Opera 67 |
2019 年 6 月 | 2020 年 1 月 | 2019 年 10 月 | 2019 年 9 月 | 2019 年 6 月 |