JavaScript 2021 新特性
JavaScript 2021 新特性
| 功能 | 描述 | ||
|---|---|---|---|
| Promise.any() | 接受多个 Promise 作为输入,并返回一个 Promise | ||
| String replaceAll() | 替换字符串中所有出现的子字符串 | ||
| 数字分隔符 | 新增数字分隔符 (_),使数字更易读 |
浏览器支持
ECMAScript 2021 自 2021 年 4 月起,所有现代浏览器均已支持该规范:
| Chrome 85 |
Edge 85 |
Firefox 79 |
Safari 14.1 |
Opera 71 |
| 2020年8月 | 2020年8月 | 2020年7月 | 2021年4月 | 2020年9月 |
JavaScript Promise.any()
Promise.any() 是 JavaScript 中的一个静态方法,它接受一个 Promise 对象作为输入,并返回一个 Promise 对象。
示例
// 创建一个 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);
});亲自试一试 »JavaScript 字符串 replaceAll()
ES2021 引入了字符串方法 replaceAll():
replaceAll() 方法允许您指定一个正则表达式,而不是要替换的字符串。
如果参数是正则表达式,则必须设置全局标志 (g),否则会抛出 TypeError。
注意
ES2020 引入了字符串方法 matchAll()。
JavaScript 数字分隔符 (_)
ES2021 引入了数字分隔符 (_),使数字更易于阅读:
数字分隔符仅用于视觉效果。
数字分隔符可以放在数字中的任何位置:
注意
数字分隔符不能位于数字的开头或结尾。
在 JavaScript 中,只有变量名可以以 _ 开头。
