ECMAScript 2021

JavaScript 版本号

旧的 JS 版本以数字命名:ES5 (2009) 和 ES6 (2015)。

从 2016 年开始,版本按年份命名:ECMAScript 2016、2017、2018、2019、...

新特性

ES2021 中的新特性:

ES2022 中的新特性:

  • 数组方法 at()
  • 字符串方法 at()
  • 正则表达式 /d
  • Object.hasOwn()
  • error.cause
  • await import
  • 私有方法和字段
  • 类字段声明

警告

这些特性相对较新。

较旧的浏览器可能需要替代代码(Polyfill)

Metodi ya stringi ya JavaScript ya ReplaceAll()

ES2021 inaingiza mtu wa matukio wa stringi ya replaceAll():

Mifano

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

Jaribu kwenye mifano

replaceAll() metodi inaweza kumekadiri msingi wa kifupi kuhusu stringi inayotumiwa kusitahili.

Kama thamani ni msingi wa kifupi, lazima kuweka ufupi wa jumla (g),wengine huziwea kosa kuzingatia KosaTypeError。

Mifano

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

Jaribu kwenye mifano

Maelezo:}ES2020 Inaongeza method ya string matchAll().

Chaguo cha namba ya JavaScript

ES2021 inaongeza chaguo cha namba (_) kufikiria namba zaidi kwa ukweli wa kusoma:

Mifano

const num = 1_000_000_000;

Jaribu kwenye mifano

Chaguo cha namba inatumiwa tu kwa matukio haliwezi kufikirika.

Mifano

const num1 = 1_000_000_000;
const num2 = 1000000000;
(num1 === num2);

Jaribu kwenye mifano

Chaguo cha namba inaweza kuwa na nafasi kwenye namba yoyote:

Mifano

const num1 = 1_2_3_4_5;

Jaribu kwenye mifano

Tahadhari

Chaguo cha namba haliwezi kufikirika kwenye kwanza au kwa uwanja wa namba.

Kwenye JavaScript, tuJina la muhimuInaweza kuanza na _.

Kuanzia Januari 2020, kila kifunzi cha kifunzi kinakusaidia chaguo cha namba kwenye sababu ya kina:

Chrome Edge Firefox Safari Opera
Chrome 75 Edge 79 Firefox 74 Safari 13.1 Opera 67
2019 Novemba 2020 Januari 2019 Oktoba 2019 Septemba 2019 Novemba