讓人興奮的三大JavaScript2021(ES12)新特性
文章譯自此處
感謝Babel,我使用ECMAScript 2021的新功能已有一年多了。 幾乎所有功能都是有用的,但是其中三個功能使我節省了大量時間,並使我的代碼更具可讀性,從而脫穎而出
讓我們越過它們
1. 邏輯賦值運算符
邏輯賦值運算符將邏輯運算(例如??,&&或||)與賦值(例如=)結合使用
這里有些例子
a ||= b
如果a
為真,則返回a
;如果a
為虛假,則返回b
如果a
為真或a
為假,則a &&= b
返回b
a ??= b
如果a
為null
或undefined
,則返回b
;如果a
為真,則返回a
最初,在代碼審查期間立即了解這些操作員的操作有些棘手,但幾周后,團隊中的每個人都掌握了這些技巧
2. Promise.any
Promise.any
接受一系列承諾並在任何提供的承諾被解決后立即解決
聽起來很難,所以這里有個例子:
我們同時提出三個要求。 當其中一個請求得到解決時,Promise.any
也會解決該問題並將第一個已解決的請求記錄在控制台中(在我們的示例中為Google)
如果所有的諾言都被拒絕,Promise.any
將引發一種新型錯誤:AggregateError
最新消息是AggregateError
對象表示一個錯誤,其中多個錯誤封裝在一個錯誤中
外觀如下:
e.errors是errors對象的數組
3. 數字分隔符
數字分隔符使我們能夠用數字文字中的下划線(_)分隔數千個字符
有什么用? 它使我們的代碼更具信息性和可讀性
這是一個例子:
結論
謝謝閱讀!
如果您現在想嘗試ES2021的這三個新功能,則可以使用以下Babel插件: