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:
- Promise.any()
- String method replaceAll()
- Number separator (_)
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 月 |