偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

ES15 中最具變革性的五個 JavaScript 特性

開發(fā) 前端
隨著 ES15 和有前途的提案的推出,JS 功能有了全新的升級。從復雜的異步功能到語法數(shù)組糖和現(xiàn)代正則表達式,JavaScript 編碼變得比以往任何時候都更容易、更快捷。

隨著 ES15 和有前途的提案的推出,JS 功能有了全新的升級。從復雜的異步功能到語法數(shù)組糖和現(xiàn)代正則表達式,JavaScript 編碼變得比以往任何時候都更容易、更快捷。

1. 原生數(shù)組分組功能現(xiàn)已推出

Object.groupBy():

從字面上理解,這是讓dinosaur Lodash 存活下來的唯一東西 — — 不再存在了!

我原本期望有一個新的實例方法,如 Array.prototype.groupBy,但不知出于什么原因,他們把它變成了靜態(tài)的。

然后我們用 Map.groupBy 來用對象鍵進行分組:

不過,幾乎沒有人會以這種方式對數(shù)組進行分組,因此這種做法可能不那么受歡迎。

2. 從外部解決承諾 — 現(xiàn)代方式

使用 Promise.withResolvers()。

從外部解決承諾很普遍,以前我們必須使用 Deferred 類來完成此操作:

或者從 NPM 安裝 — — 還有一個依賴項!

但是現(xiàn)在有了 ES15 中的 Promise.withResolvers():

看看我如何快速承諾事件流 — — 等待可觀察的:

3. 緩沖區(qū)性能升級

緩沖區(qū)是用于存儲應用生成的臨時數(shù)據(jù)的微型數(shù)據(jù)存儲。

它們使在管道中跨各個階段傳輸和處理數(shù)據(jù)變得非常容易。

管道如下:

文件處理:輸入文件 → 緩沖區(qū) → 處理 → 新緩沖區(qū) → 輸出文件

視頻流:網(wǎng)絡響應 → 緩沖區(qū) → 顯示視頻幀

餐廳排隊:接待顧客 → 排隊/緩沖 → 服務顧客

使用緩沖區(qū),每個階段以不同的速度獨立處理數(shù)據(jù)。

但是,當通過管道的數(shù)據(jù)超過緩沖區(qū)容量時會發(fā)生什么?

以前我們必須將當前數(shù)據(jù)的所有緩沖區(qū)復制到更大的緩沖區(qū)。

這對性能影響很大,尤其是當管道中有大量數(shù)據(jù)時。

ES15 為我們提供了解決此問題的方法:可調整大小的數(shù)組緩沖區(qū)。

4. 異步升級

Atomics.waitAsync():ES2024 中另一個強大的異步編碼功能:

當 2 個代理共享一個緩沖區(qū)時……

代理 1“休眠”并等待代理 2 完成任務。

當代理 2 完成后,它會使用共享緩沖區(qū)作為通道進行通知。

如果您認為這與普通的 async/await 類似,那您就完全正確了。

但最大的區(qū)別在于:這兩個代理可以存在于完全不同的代碼上下文中 — 它們只需要訪問同一個緩沖區(qū)。

并且:多個代理可以在不同時間訪問或等待共享緩沖區(qū) — 其中任何一個都可以通知“喚醒”所有其他代理。

它就像一個 P2P 網(wǎng)絡;async/await 就像客戶端-服務器請求-響應。

5. 正則表達式與標志和集合操作

一項全新功能,使正則表達式更加簡潔直觀。

使用富有表現(xiàn)力的模式查找和操作復雜字符串 — 借助集合操作:

匹配不斷增加的 Unicode 字符集,例如:

表情符號:??、??、??、?? 等。

重音字母:é、à、?、? 等。

符號和非拉丁字符:?、?、€、£、μ、¥ 等

因此,我們在這里使用 Unicode 正則表達式和 v 標志來匹配所有希臘字母:

寫在最后的想法

總體而言,這對于 JavaScript 來說是一次重大飛躍,具有現(xiàn)代開發(fā)所必需的幾項功能。

幫助您編寫更簡潔、更具表現(xiàn)力和更清晰的更干凈的代碼。

責任編輯:華軒 來源: web前端開發(fā)
相關推薦

2024-06-14 10:22:55

2024-07-17 13:43:04

2024-07-30 08:40:00

2024-08-12 08:36:28

2024-07-25 08:37:48

2024-08-01 08:38:59

2024-08-16 09:14:53

2024-08-05 08:38:13

2024-07-02 08:36:09

JavaScriptUnicode模式

2024-02-19 10:15:37

JavaScript正則表達式ECMAScript

2024-08-19 08:35:11

2019-01-23 09:15:30

物聯(lián)網(wǎng)IOT技術

2024-11-26 08:20:53

程序數(shù)據(jù)歸檔庫

2022-09-30 14:00:50

JavaScrip新特性代碼

2024-01-11 12:17:28

Linux系統(tǒng)命令

2022-08-05 13:14:25

ES2022JavaScript代碼

2024-07-31 08:38:36

2012-07-17 11:04:04

Office 15

2015-07-29 10:46:20

Java錯誤

2022-12-25 16:03:31

JavaScript技巧
點贊
收藏

51CTO技術棧公眾號