ECMAScript 2021

JavaScript version number

Old JS versions are named by numbers: ES5 (2009) and ES6 (2015).

Starting from 2016, the version is named by year: ECMAScript 2016, 2017, 2018, 2019, ...

New features

New features in ES2021:

New features in ES2022:

  • Array method at()
  • String method at()
  • Regular expression /d
  • Object.hasOwn()
  • error.cause
  • await import
  • Private methods and fields
  • Class field declarations

Warning

These features are relatively new.

Older browsers may need alternative code (Polyfill)

JavaScript string method ReplaceAll()

ES2021 ya kawo haɗin gwiwa na harsa replaceAll():

实例

text = text.replaceAll("Cats","Dogs");
text = text.replaceAll("cats","dogs");

亲自试一试

replaceAll() method bace ɗa ɗa ɗa kara kara gida wanda ake amfani da shi ne regex a ɗaya daga cikin ɗan gida ko kuma ɗan gida.

hadda a bada a kara gida, kuma wada yau da kara kara gida (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 月