ECMAScript 2021
JavaScript 版本号
旧的 JS 版本以数字命名:ES5 (2009) 和 ES6 (2015)。
从 2016 年开始,版本按年份命名:ECMAScript 2016、2017、2018、2019、...
新特性
ES2021 中的新特性:
- Promise.any()
- 字符串方法 replaceAll()
- 数字分隔符 (_)
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");
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");
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;
Chaguo cha namba inatumiwa tu kwa matukio haliwezi kufikirika.
Mifano
const num1 = 1_000_000_000; const num2 = 1000000000; (num1 === num2);
Chaguo cha namba inaweza kuwa na nafasi kwenye namba yoyote:
Mifano
const num1 = 1_2_3_4_5;
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 |