JavaScript: ECMAScript 2018(ES2018)
在最新的TC39會議上,選擇了將進入“ECMAScript®2018語言規範”(ES2018)的新功能。 自 合併以來已達到第4階段的所有提案都已被選中。 這篇文章讓我們快速瞭解了進入ES2018的功能。
Stage-4 TC39委員會有一個5階段的過程,從第0階段到第4階段,透過它開發新的語言功能。 第四階段是“完成”階段。GitHub上提供了第4階段提案列表
物件 Rest/Spread 屬性
在解構物件時, 允許您將物件的剩餘屬性收集到新物件上。 把它想象成吸引所有剩菜的神奇磁鐵。
我自己經常使用這個,特別是在React(Native)上下文中,我從this.props
中獲取某些值供內部使用,然後透過再次傳播將所有其他道具轉發給返回的子元件。
另外,如果你稍微改變你的思維邏輯,物件休息屬性為你提供了一種以不可變的方式, .
非同步迭代
使用 我們得到非同步迭代器和非同步迭代。 非同步迭代器就像常規迭代器一樣,除了它們的next()
方法之外,它返回一個{value,done}
對的promise。 為了使用非同步迭代,我們現在可以使用帶有for ...
ofloops的await
關鍵字。
Promise.prototype.finally()
Promise.prototype.finally()
最終確定整個promises實現,允許你註冊一個在一個promise被解決(被滿足或被拒絕)時被呼叫的回撥。
一個典型的用例是在fetch()
請求之後隱藏一個微調器:而不是複製最後一個.then()
和.catch()
中的邏輯,現在可以將它放在.finally()
RegExp相關功能
共有4個“RegExp”相關提案進入ES2018:
( )
我特別挖掘了“RegEx命名捕獲組”功能,因為它提高了可讀性:
有關這些功能的更多資訊可以在Mathias Bynens找到 - 這些建議背後的驅動力之一 - 他的部落格:
其他新功能
最重要的是 著陸:當使用標記模板文字時,對轉義序列的限制被刪除,從而允許像 xerxes
。 在此調整之前會丟擲一個錯誤,因為 x
是十六進位制轉義的開始,而'erxes`不是有效的十六進位制值。
** 標記模板文字根據MDN:如果模板文字前面有表示式,則模板字串稱為“標記模板文字”。 在這種情況下,標記表示式(通常是函式)將使用已處理的模板文字進行呼叫,然後您可以在輸出之前對其進行操作。
現在怎麼辦?
請注意,並非所有瀏覽器都能提供所有這些功能。 意思是他們是Stage-4意味著他們已經完成了,並且瀏覽器供應商應該實現它們(一些已經有,其他人正在進行中)
至於未來,我已經在期待JavaScript的未來發展方向. 就像 已經讓我很興奮了
The examples embedded in this post are part of a talk on ESNext named “What’s next for JavaScript?”, which I recently gave at a meetup. I’m currently still in the process of preparing the slides for publication. I’m available for bringing this talk at your meetup/conference.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1916/viewspace-2810696/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ES2018 新增特性清單
- 精讀《正則 ES2018》
- 每個 JavaScript 開發者都該瞭解的 ES2018 新特性JavaScript
- JavaScript ECMAScript版本介紹JavaScript
- JavaScript(ECMAScript+BOM+DOM)JavaScript
- JavaScript與ECMAScript 區別JavaScript
- 【譯】ES2018 新特性:Rest/Spread 特性REST
- 【譯】ES2018 新特性:Promise.prototype.finally()Promise
- [譯] ES2018(ES9)的新特性
- [譯]ES2018(ES9)的新特性
- 每個JavaScript開發人員都應該知道的新ES2018功能(譯文)JavaScript
- Javascript——ES6( ECMAScript 6.0)語法JavaScript
- ES2018 新特徵之:正規表示式 dotAll 模式特徵模式
- ECMAScript 2018(ES9)新特性簡介
- ES2018 新特徵之:非轉義序列的模板字串特徵字串
- 【譯】ES2018 新特性: 正規表示式的 s (dotAll) 標誌
- 換個角度看 JavaScript 中的 (this) => { 整理 (JavaScript 深入之從 ECMAScript 規範解讀 this ) }JavaScript
- ECMA標準ECMAScript(JavaScript的一個標準)和C#JavaScriptC#
- 從冴羽的《JavaScript深入之從ECMAScript規範解讀this》引起的思考JavaScript
- ECMAScript委員會:JavaScript最基礎的14種操作物件的方法JavaScript物件
- ECMAScript 2024 更新指南
- 前端效能之JavaScript成本(2018)前端JavaScript
- [譯] ECMAScript 的 Observables 提案
- 【ECMAScript】睡眠、陣列洗牌陣列
- ECMAScript 2021 正式確認
- [JSConf EU 2018] 大腦控制 JavascriptJSJavaScript
- 【JSConf EU 2018】JavaScript引擎: 精粹部分JSJavaScript
- ECMAScript 6:更好的 Unicode 支援Unicode
- ECMAScript Decorators---裝飾器
- ECMAScript 2021主要新功能 – thenewstack
- StateOfJS:2018年JavaScript 趨勢報告JSJavaScript
- ECMAScript5 Array新增方法
- [譯] ECMAScript 修飾器微指南
- 你知道什麼是ECMAScript嗎?
- CommonJS模組 和 ECMAScript模組JS
- 種草ECMAScript2021新特性
- 2018年,JavaScript都經歷了什麼?JavaScript
- ECMAScript5.1及其新增API簡介API