ECMAScript 2021
JavaScript 版本号
旧的 ECMAScript 版本用数字命名:ES5 和 ES6。
从 2016 年开始,版本用年份命名:ES2016、2018、2020...
ES2021 中的新特性
警告
这些功能比较新。
旧版浏览器可能需要替代代码 (Polyfill)
JavaScript Promise.any()
例子
// 创建一个 Promise
const myPromise1 = new Promise((resolve, reject) => {
setTimeout(resolve, 200, "King");
});
// 创建另一个 Promise
const myPromise2 = new Promise((resolve, reject) => {
setTimeout(resolve, 100, "Queen");
});
// 任何 Promise 完成时运行
Promise.any([myPromise1, myPromise2]).then((x) => {
myDisplay(x);
});
自己尝试 »
Promise.any()
自 2020 年 9 月起在所有现代浏览器中得到支持
Chrome 85 | Edge 85 | Firefox 79 | Safari 14 | Opera 71 |
2019 年 8 月 | 2020 年 8 月 | 2020 年 7 月 | 2020 年 9 月 | 2020 年 9 月 |
JavaScript String ReplaceAll()
ES2021 引入了字符串方法 replaceAll()
使用 replaceAll()
方法,您可以指定要替换的正则表达式而不是字符串。
如果参数是正则表达式,则必须设置全局标志 (g),否则会抛出 TypeError。
注意
ES2020 引入了字符串方法 matchAll()。
JavaScript 数字分隔符 (_)
ES2021 引入了数字分隔符(_)来使数字更易读
数字分隔符仅用于视觉目的。
数字分隔符可以放置在数字中的任何位置
注意
数字分隔符不允许出现在数字的开头或结尾。
在 JavaScript 中,只有变量可以以 _ 开头。
从 2020 年 1 月开始,所有现代浏览器都支持数字分隔符
Chrome 75 | Edge 79 | Firefox 74 | Safari 13.1 | Opera 67 |
2019 年 6 月 | 2020 年 1 月 | 2019 年 10 月 | 2019 年 9 月 | 2019 年 6 月 |