精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

ES12中新的JavaScript 語言特性

開發 前端
隨著即將發布的 ECMAScript 2022 版本即將發布,讓我們來看看 ECMAScript 2021 中引入的新 JavaScript 語言功能。

JavaScript 語言規范,也稱為 ECMAScript 或 ES,是一個動態文檔,每年都會根據不斷變化的需求進行修改。雖然 JavaScript 最初是一種腳本語言,但 ECMAScript 規范概述指出,該語言“現在被用于許多不同環境和規模的全方位編程任務。”因此,JavaScript 被更好地理解為一種功能齊全的通用用途的編程語言。

隨著即將發布的 ECMAScript 2022 版本即將發布,讓我們來看看 ECMAScript 2021 中引入的新 JavaScript 語言功能。

String.prototype.replaceAll

replaceAll() 方法將一個字符串或正則表達式(稱為模式)作為其第一個參數。第二個參數是模式的替換。給定第一個和第二個參數,replaceAll() 返回一個新字符串,它將作為源字符串,其中模式的所有實例都被替換為替換。源字符串不受影響。

在 ECMAScript 2021 中,replaceAll() 與 ECMAScript 2020 的 matchAll() 一起改進了 JavaScript 內置 String 對象的固有功能。

replaceAll() 方法的工作方式與 replace() 完全相同,但適用于字符串中的所有匹配項,而不僅僅是第一個匹配項。經過多年不得不使用庫或手動編碼的解決方案,這是一個受歡迎的補充。

在示例1中,我例舉了一個簡單的示例,其中我們修改了一些莎士比亞作品。

示例1、 replaceAll()

let quote = "all the world's a stage, and all the men and women merely players";
let newQuote = quote.replaceAll("all", "most of");
console.log(newQuote);

promise.any()  

promise.any() 方法接受一組承諾,并允許通過返回一個新的承諾來響應第一個成功完成的promise。

如果任何promise被拒絕,它們將被忽略。(請注意此方法與 promise.all() 的對比,后者在任何錯誤或拒絕時停止;與 promise.allSettled() 相比,它可以讓您觀察在集合中解決的所有promise,即使存在中間錯誤。)

如果任何一個 Promise 出錯,promise.any() 仍然會根據集合中的第一個已解決的 Promise 進行操作。

如果傳入的 Promise 都沒有解析,則 promise.any() 方法返回一個被拒絕的 Promise。它返回的錯誤是 AggregateError,它也是 ECMAScript 2021 引入的一種新錯誤類型。AggregateError 表示遇到的所有錯誤的摘要。

我們可以使用 promise.any() 將多個 Promise 匯總為一個。該承諾將解決首先解決的集合,忽略錯誤和拒絕。

下面有一個簡單的示例。

示例2、promise.any()——全部解決

接著,我們開始看示例3,其中所有的 Promise 最終都因為被拒絕而失敗。

const promise1 = new Promise((resolve, reject) => {
setTimeout(resolve, 1000, "1 second");
});
const promise2 = new Promise((resolve, reject) => {
setTimeout(resolve, 2000, "2 second");
});
let promises = [promise1, promise2];
Promise.any(promises).then((firstResolved) => {
console.log(firstResolved); // outputs “1 second”
})

示例3、promise.any()——全部被拒絕

在示例3 中,我們添加了一個 catch 處理程序,它在兩個 Promise 都被拒絕后觸發。請注意,AggregateError 是一個包含有關失敗承諾的信息的對象。

const promise1 = new Promise((resolve, reject) => {
setTimeout(reject, 1000, "1 second");
});
const promise2 = new Promise((resolve, reject) => {
setTimeout(reject, 2000, "2 second");
});
let promises = [promise1, promise2];
Promise.any(promises).then((firstResolved) => {
console.log(firstResolved);
}).catch((err) => { console.log("error: " + err) }) // outputs error: AggregateError: All promises were rejected

讓我們仔細看看 AggregateError,它是 ECMAScript 2021 中的另一個新特性。

AggregateError  

AggregateError 是一種特殊的錯誤子類,它將許多錯誤組合成一個匯總對象。如您所見,特性 3 中的 promise.any() 方法創建了一個 AggregateError。

在該示例中,傳遞給 promise.any() 的所有promise都失敗了,因此該方法返回了 AggregateError。錯誤包含描述錯誤的消息和包含有關每個錯誤的詳細信息的數組。  

但是在示例4 顯示了返回的錯誤內容。

示例4、 AggregateError

如上所示,AggregateError 可以通過 AggregateError.errors 訪問導致錯誤的承諾消息。

AggregateError: All promises were rejected
errors: Array(2)
0: "1 second"
1: "2 second"
length: 2
message: "All promises were rejected"
stack: "AggregateError: All promises were rejected"

新的邏輯賦值運算符

JavaScript 有熟悉的數學賦值運算符,例如 +=,它可以一次性執行運算和賦值,作為一種方便。ECMAScript 2021 為邏輯運算符 ||、?? 和 && 添加了類似的支持。

讓我們來看看其中的每一個。

空賦值 (??=)

我們可以使用 nullish 賦值運算符來測試變量是否為 null 或undefined。如果變量為 null 或undefined,我們可以將表達式的右側分配給變量。  

接著,我們繼續看示例5中的一個示例。

示例5、 ??= 實際賦值

請注意,當用于存在的變量時,例如 existingQuote,nullish 賦值運算符什么也不做。但是,當在 nonExistingQuote 上使用時,它會為報價分配一個新值。

let quote = "When goodness is lost there is morality.";
let existingQuote = "A leader is best when people barely know he exists";
let nonExistingQuote = null;
existingQuote ??= quote;
nonExistingQuote ??= quote;
console.log(existingQuote); // A leader is best when people barely know he exists
console.log(nonExistingQuote); // When goodness is lost there is morality.

即使existingQuote 的字符串為空(在JavaScript 中是一個假值),nullish 賦值也不會替換它;它將保持為空字符串。這就是運算符的本質:它只測試 null 或 undefined。

和賦值 (&&=)

和賦值運算符 (&&=) 測試表達式的左側。如果左側為真,則分配表達式的右側。如果它是假的,則操作員什么也不做。  

下面我們看特性6中的一個簡單的示例。

示例6、賦值運算符 ( &&=)

和賦值運算符 ( &&=)用于表達式的左側。如果左側不為null或undefined,則分配表達式的右側。如果它是假的,則什么也不做。

let emptyString = "";
emptyString &&= "bar";
console.log (emptyString); // “”
let nonEmptyString = "foo";
nonEmptyString &&= "bar";
console.log(nonEmptyString); // “bar”

在特性6 中,第一個控制臺日志輸出一個空字符串。這是因為空字符串是虛假的,因此 &&= 運算符不會為其分配新值。第二個控制臺輸出“bar”。這是因為 nonEmptyString 是“foo”,這是一個真值。

&&= 是一種邊緣情況運算符,但在您需要時很有用。

或賦值 (||=)

or 賦值運算符與您剛剛看到的 and 賦值運算符相反。我們可以使用清單 6 中的相同示例,這次將 &&= 替換為 ||=。

示例 7、||= 實際賦值

let emptyString = "";
emptyString ||= "bar";
console.log (emptyString); // “bar”
let nonEmptyString = "foo";
nonEmptyString ||= "bar";
console.log(nonEmptyString); // “foo”

如果表達式的左側是假的,||= 賦值運算符解析到右側。因此,在這種情況下,emptyString 變為“bar”。nonEmptyString 變量保持其真實值“foo”。

WeakRef  

WeakRef 用于引用目標對象,而不會將其從垃圾收集中保存。這是一個相當深奧的語言功能,工作編碼人員很少使用。WeakRef 的一個常見用例是實現大對象的緩存或映射,“不希望大對象僅僅因為它出現在緩存或映射中而保持活動狀態。”

因此,如果發現自己正在為大型實體構建緩存解決方案,請記住 WeakRef 存在。否則,如果不確定是否需要 WeakRef 變量引用,應該避免使用它。(規范本身建議避免使用。)

FinalizationRegistry

JavaScript 幾乎與 Java 棄用 Object.finalize() 幾乎同時引入了 FinalizationRegistry,這有點編程諷刺。這些特征實際上是相似的。與 WeakRef 一樣,規范警告開發人員遠離用戶定義的終結器。

但是,對于某些用例,新的 FinalizationRegistry 可能正是我們所需要的。該規范提供了消耗許多文件句柄的長時間運行進程的示例。在這種情況下,使用 FinalizationRegistry 可以確保沒有句柄被泄露。

與 WeakRef 一起,FinalizationRegistry 更適合平臺和框架開發人員的工具箱,而不是應用程序開發人員。

Numeric literal separators

數字分隔符是一種很好的方式,可以讓我們更輕松地查看大量數字。JavaScript 不能像自然語言那樣使用逗號,因為那個符號已經被占用了。因此,ECMAScript 2021 引入了下劃線。

第一輸入方式:

let distanceToSun = 91772000000;

第二種輸入方式:

let distanceToSun = 91_772_000_000;

但是第二種方式更容易閱讀。

Array.prototype.sort improvements

這更像是一個注釋而不是一個功能。基本上,ECMAScript 2021 規范更準確地描述了 Array.prototype.sort 的工作原理。這種變化應該會減少引擎之間實現的差異。

寫在最后

以上就是全部內容,如果你覺得有用的話,記得點贊我,關注我,我將與你分享更多有用的內容。

祝編程愉快!

責任編輯:龐桂玉 來源: WEB前端開發社區
相關推薦

2020-11-04 11:05:38

JavaScript新特性前端

2021-07-15 08:55:17

ES12 ECMAScript JS 功能

2022-08-05 13:14:25

ES2022JavaScript代碼

2021-09-04 05:00:26

ESES2021ES12

2009-07-07 13:02:29

JDK1.5

2023-01-31 07:36:25

JavaScript數組緩沖

2024-08-05 08:38:13

2023-07-19 08:03:05

Future異步JDK

2013-03-26 10:27:01

JavaScriptjson

2019-12-27 16:10:53

前端javascriptnode.js

2021-04-30 19:53:41

Java表達式代碼

2022-10-31 16:20:33

JavaScript前端開發

2009-08-18 09:17:01

JavaScript2

2023-04-19 15:26:52

JavaScriptES13開發

2009-09-02 15:35:57

Oracle 11g

2024-07-02 08:36:09

JavaScriptUnicode模式

2025-11-19 08:23:37

2021-05-21 09:34:40

React React 17前端

2016-01-21 11:05:52

ES6JavaScript新特性

2023-05-04 07:48:29

Debian 12Linux
點贊
收藏

51CTO技術棧公眾號

欧美精品一卡二卡| 欧美激情一二三区| 欧美一二三视频| 少妇久久久久久久久久| 精品欧美一区二区三区在线观看 | 国产精品九九九九九| 免费看av不卡| 一区二区三区美女视频| 欧美精品v日韩精品v国产精品| 欧美成人一区二区视频| 国产一区亚洲| 一区二区三区视频观看| 国产伦精品一区二区三区妓女下载 | 精品伊人久久| 欧美日韩免费看| 自拍偷拍视频在线| 日韩大胆人体| 国产精品自产自拍| 国产精品对白刺激| 日本一级黄色大片| 午夜影院欧美| 亚洲性无码av在线| 中文字幕天堂av| 亚洲国产精选| 日本精品视频一区二区| 精品人妻大屁股白浆无码| av色图一区| 久久精品欧美一区二区三区不卡| www.久久艹| 国产又粗又黄又爽| 日韩在线观看一区二区| 午夜精品一区二区三区在线播放 | 国产精品美乳在线观看| 中国一级免费毛片| 国内揄拍国内精品久久| 精品国偷自产在线| 少妇太紧太爽又黄又硬又爽小说 | 日韩伦人妻无码| 一本到12不卡视频在线dvd| 亚洲人成毛片在线播放| 视频免费在线观看| jazzjazz国产精品久久| 欧美丰满美乳xxx高潮www| 国产成人手机视频| 亚洲1234区| 一本一本久久a久久精品综合麻豆| 免费一级淫片aaa片毛片a级| 国产在线观看a视频| 国产精品欧美久久久久无广告| 久久久综合亚洲91久久98| 高h调教冰块play男男双性文| 国产精品1区2区3区| 亚洲一区二区三区乱码aⅴ| 国产精品高潮呻吟av| 久久成人羞羞网站| 成人久久久久爱| 97人人爽人人爽人人爽 | 9.1在线观看免费| 日韩在线亚洲| 欧美xfplay| 韩国三级视频在线观看| 亚洲一区二区三区四区电影| 日韩视频一区二区在线观看| 国模大尺度视频| 亚洲国产高清在线观看| 日韩精品在线看片z| 免费不卡的av| 秋霞综合在线视频| 亚洲久久久久久久久久| 91中文字幕永久在线| 九色精品国产蝌蚪| 中文字幕日韩精品有码视频| 任我爽在线视频| 亚洲一区二区三区| 欧美精品videofree1080p| 九九视频免费在线观看| 亚洲三级色网| 国产精品h片在线播放| 中文字幕日日夜夜| 国产精品自拍av| 久久精品美女| av中文天堂在线| 亚洲欧美激情一区二区| www精品久久| 粉嫩一区二区三区| 欧美电影在线免费观看| 日韩大尺度视频| 香蕉久久精品| 色老头一区二区三区在线观看| 爱爱视频免费在线观看| 亚洲成人中文| 555www成人网| 91影院在线播放| 成人av免费观看| 四虎影院一区二区三区 | 色乱码一区二区三区88| 日本中文字幕影院| 激情小说亚洲色图| 中文字幕在线精品| 日本视频www| 久久精品国产第一区二区三区| 成人91视频| freemovies性欧美| 亚洲大片一区二区三区| 麻豆三级在线观看| 麻豆精品av| 久久在线精品视频| 黄色一级视频免费看| 国产一区二区三区综合| 欧美国产二区| 怡红院av在线| 欧美亚洲日本国产| 欧美熟妇精品黑人巨大一二三区| 久久久久久久久99精品大| 7m精品福利视频导航| 国产精品毛片久久久久久久av| av一区二区不卡| 国产盗摄视频在线观看| 欧美xxxxxx| 精品久久久久久久久久久久久久久久久 | 国产午夜精品一区二区三区嫩草| 在线观看av的网址| 成人亚洲视频| 亚洲性xxxx| 国产成人精品a视频一区| 狠狠色伊人亚洲综合成人| 欧美中文娱乐网| 九色porny自拍视频在线播放| 欧美群妇大交群的观看方式| 亚洲最大成人网站| 一区在线免费观看| 亚洲最大的成人网| 秋霞a级毛片在线看| 在线亚洲免费视频| 美女脱光内衣内裤| 国产一级久久| 国产伦精品一区| 女同一区二区免费aⅴ| 正在播放一区二区| 国产wwwwxxxx| 久久99精品国产| 亚洲天堂电影网| 99精品在免费线偷拍| 亚洲人午夜色婷婷| 91视频在线视频| 久久久精品免费网站| 欧美 激情 在线| 亚洲小说图片| 国产97在线|亚洲| 久久视频www| 日本高清无吗v一区| 波多野结衣a v在线| 先锋影音国产一区| 美国av一区二区三区| 三妻四妾完整版在线观看电视剧 | 视频在线观看91| 黑人巨大精品欧美一区二区小视频 | 青青草国产免费一区二区下载| 国产精品1234| 成人av毛片| 欧美卡1卡2卡| 日本妇女毛茸茸| 高清av一区二区| 人妻无码久久一区二区三区免费| 国产精品x8x8一区二区| 97视频免费在线观看| 色视频在线观看福利| 日本精品免费观看高清观看| 毛片aaaaaa| 精品一区二区三区蜜桃| 看一级黄色录像| 福利欧美精品在线| 欧美最猛性xxxxx亚洲精品| 国产在线中文字幕| 9191精品国产综合久久久久久| 欧美在线视频第一页| 国产成人av电影| 你懂的av在线| 第一会所亚洲原创| 91夜夜揉人人捏人人添红杏| 超碰在线资源| 亚洲精品自产拍| 91丨porny丨在线中文 | 在线观看亚洲精品视频| 四虎影视1304t| 国产成人一区二区精品非洲| 日韩五码在线观看| 极品美女一区二区三区| 91最新在线免费观看| 岛国在线视频网站| 少妇高潮久久久久久潘金莲| а√天堂资源在线| 欧美性高潮床叫视频| 亚洲精品自拍视频在线观看| 丁香亚洲综合激情啪啪综合| 人人妻人人添人人爽欧美一区| 国产一区二区三区四区| 99蜜桃在线观看免费视频网站| 涩涩视频在线| 久久久精品国产亚洲| 桃花色综合影院| 正在播放亚洲一区| 国产91精品一区| 一区二区久久久久| 中文字幕黄色网址| 成人aa视频在线观看| 天堂一区在线观看| 日韩一级在线| 韩国黄色一级大片| 精品国产中文字幕第一页| av成人综合网| 国产一区二区色噜噜| 91国产精品电影| www国产在线观看| 亚洲日本成人网| 狠狠躁夜夜躁av无码中文幕| 欧美日本国产一区| 中文字幕一区二区人妻电影| 亚洲综合丁香婷婷六月香| 国产大屁股喷水视频在线观看| 99久久99久久久精品齐齐| 中文字幕在线视频一区二区| 日本va欧美va精品发布| 日韩中文字幕三区| 国内精品久久久久久久影视蜜臀| 伊人久久大香线蕉精品| 国产99久久久国产精品成人免费| 国产不卡一区二区在线观看| 亚洲精品大片| 国产精品久久一区主播| 中文字幕不卡三区视频| 欧美激情视频在线免费观看 欧美视频免费一 | 玩弄japan白嫩少妇hd| 亚洲高清激情| 国产精品自拍合集| 欧美激情1区2区| 伊人久久99| 91亚洲国产| 在线视频一区观看| 青青草国产免费一区二区下载| 欧美日韩国产精品一卡| 台湾佬综合网| 久久艳妇乳肉豪妇荡乳av| 岛国av一区| 国产乱子伦精品| 全国精品免费看| 欧美精品一区在线发布| 神马久久影院| 欧美日韩最好看的视频| 亚洲欧洲免费| 日本高清不卡一区二区三| 国产日韩视频在线| 日本一区视频在线观看| 国产精品一区二区三区av麻| 日本中文不卡| 日本女优一区| 在线电影看在线一区二区三区| 手机亚洲手机国产手机日韩| 亚洲一区二区三区乱码| 日韩欧美精品一区| 99热这里只有精品7| 欧美成人精品| 国产av人人夜夜澡人人爽麻豆| 亚洲狠狠婷婷| 97成人在线观看视频| 三级不卡在线观看| 亚洲激情在线观看视频| 精品无码三级在线观看视频| 91欧美一区二区三区| 国产成人亚洲综合色影视| 伊人久久一区二区三区| 91免费精品国自产拍在线不卡| 亚欧洲乱码视频| 欧美国产禁国产网站cc| 成人涩涩小片视频日本| 亚洲一区在线看| 男女视频免费看| 欧美亚洲国产一区在线观看网站| 亚洲专区在线播放| 欧美xxx久久| 黄色网址在线播放| 精品国产一区二区三区四区在线观看 | www.com操| 国产精品99久久久久久有的能看 | 婷婷免费在线观看| 国产精品一区二区果冻传媒| xxxxxx黄色| 中文欧美字幕免费| 久久综合综合久久| 91九色02白丝porn| 精品国产av 无码一区二区三区| 精品捆绑美女sm三区| 国产一二三区在线| 欧美激情18p| 精品视频在线一区二区在线| 亚洲直播在线一区| 国产探花在线精品| 久久综合久久久久| 丝袜亚洲另类欧美| 丰满少妇一区二区三区专区| 久久精品夜色噜噜亚洲aⅴ| 国产精品视频一区二区在线观看| 亚洲成av人片| 亚洲资源在线播放| 亚洲欧美中文字幕| 手机在线免费看av| 国产精品欧美激情在线播放| 美女一区2区| 一区二区三区四区免费观看| 日韩高清在线一区| 熟妇高潮一区二区| 亚洲精品乱码久久久久久久久| 亚洲视频 欧美视频| 欧美α欧美αv大片| 秋霞影院午夜丰满少妇在线视频| 欧美壮男野外gaytube| caoporn成人免费视频在线| 亚洲综合第一| 天堂在线亚洲视频| 久久人妻少妇嫩草av无码专区 | 中文字幕在线观看一区二区三区| 99精品久久| 在线成人精品视频| 中文字幕中文乱码欧美一区二区| 国产一区二区视频网站| 亚洲国产精品福利| 日本在线视频www鲁啊鲁| 国产日韩精品一区二区| 国产在线观看91一区二区三区| 国内精品视频一区二区三区| 国产成人在线视频网站| 艳妇荡乳欲伦69影片| 欧美男女性生活在线直播观看| 国产在线电影| 日韩av免费看网站| 在线亚洲a色| 成年人视频网站免费观看| 91色在线porny| 激情五月色婷婷| 亚洲精品一线二线三线| 精品日韩av| 国产精品一区而去| 亚洲国产裸拍裸体视频在线观看乱了中文 | 日韩激情片免费| 忘忧草在线日韩www影院| 国内一区在线| 国产日韩欧美高清免费| 在线观看国产网站| 欧美日韩国产页| 涩爱av在线播放一区二区| 2019最新中文字幕| 日韩在线麻豆| 国产天堂在线播放| 国产精品丝袜黑色高跟| 在线观看毛片av| 久久精品中文字幕免费mv| 精品久久久网| 91九色国产ts另类人妖| 国产99久久久精品| 黄色激情视频在线观看| 日韩成人在线播放| 丝袜美腿诱惑一区二区三区| 色综合影院在线观看| 久久99久久久久| 麻豆天美蜜桃91| 精品国产乱码久久久久久老虎| ****av在线网毛片| 欧美激情第六页| 免费视频最近日韩| 日本中文在线视频| 精品第一国产综合精品aⅴ| 国产剧情av在线播放| 日韩av图片| 国产在线视频一区二区| 久久久久99精品| 亚洲毛片在线观看.| 一区在线影院| 91看片淫黄大片91| 91一区二区三区在线观看| 一级特黄免费视频| 久久中文久久字幕| 欧美毛片免费观看| 美女网站视频黄色| 一区二区免费在线| 国产精品毛片一区二区三区四区| 成人精品在线视频| 一本久久综合| 精品人体无码一区二区三区| 日韩欧美亚洲国产另类| 26uuu亚洲电影| 日韩成人午夜影院| 久久午夜色播影院免费高清| 97超碰人人草| 欧美一级高清免费播放| 香蕉久久网站| av在线网站观看| 日韩一区二区三| av成人在线播放| 国产自产在线视频| 亚洲欧洲99久久|