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 fulfilled 時執行
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 月 |