ECMAScript 2021
JavaScript version number
Ang lumang bersyon ng JS ay pinangalanan ng numero: ES5 (2009) at ES6 (2015).
Simula noong 2016, ang mga bersyon ay pinangalanan ayon sa taon: 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
Ang mga katangian na ito ay napakabagong lumabas.
Ang mas lumang browser ay maaaring mangailangan ng alternative code (Polyfill)
JavaScript string na paraan na ReplaceAll()
Nailunsad ng ES2021 ang string na paraan na replaceAll():
实例
text = text.replaceAll("Cats","Dogs"); text = text.replaceAll("cats","dogs");
replaceAll() na paraan ay nagbibigay ng kapahintulutan upang magbigay ng isang regular expression sa halip na string na ibabago.
Kung ang argumento ay regular expression, dapat itong itagay ang pangkalahatang tanda (g
kung hindi ito nagbabago, ito ay magiging parusa na TypeError.
实例
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 月 |