讓人興奮的三大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插件:
