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:

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 月