當前位置:
首頁 > 最新 > ES8的5 個特性以及對 ES9 的展望-Blog

ES8的5 個特性以及對 ES9 的展望-Blog

當我們即將完成本提案的時候,相比前輩 ES7 的簡單更新,ES8 看上去會發布更多重要特性! 我們想要花點時間來重點提一下未來 2017 版的我們最喜歡的 5 項內容。

1. Object.entries 和 Object.values

這個更新是令我們非常激動的一項,同時也是我們已經在 Dojo 2 中嵌入的內容.

當一個對象被用作哈希過濾器的時候,你通常想要知道這個對象的值(key-value 的 value),這形成了一個在大多數庫和工具包中都能找到的方法,並使其標準化。

類似地,對於迭代器和序列化來說,從一個對象或其條目(entries) 中獲取一個鍵值對數組是非常有幫助的。隨著 ES6 的 Map 構造器接受一串可迭代的條目和與它相關的條目迭代器,以向 Map 構造器傳遞條目的方式,將一個普通對象轉化成一個 Map 變得更容易了。

查看 Github:Object.values/Object.entries

隨著leftpad 事件的發生,我們做了很多努力,最終完成了在語言中加入字元串填充這項功能。這是我們已經在 Dojo 中實現的東西,而且我們會儘快把它遷移到同樣也為字元填充創建一個 shim中去.

這是一個語言中被長期忽略的簡單功能,因為這實現起來太簡單了,但我們還是很高興能將其作為語言的一部分。

3. Object.getOwnPropertyDescriptors

ES 缺少一種能夠正確地在兩個對象間複製屬性的方法,這項提案解決了這個看上去簡單但實際複雜的問題,有時候,幾乎在每一個 JS 工具包或框架里,都會實現一種這個問題的方案。現在,對於 ES 類的高效不變性和真實組成,這是一種阻礙,但這又是一種有益於裝飾器(Decorators)的東西,同時,相比 Object.assign,它通常又不是那麼讓人驚訝。

查看 Github:Object.getOwnPropertyDescriptors

4. Async functions

ES 中 promise 和 generator(生成器) 的引入通過提昇平行於生成器(generator) 控制流結構的控制流結構,很大程度改進了我們寫非同步代碼的方式。

這項改動非常重要,並且我們很樂於見到它出現在語言中,因為在過去我們寫非同步代碼的方式中,這是一項重大遺漏。

查看 Github:Async functions

5. 共享內存與原子化(atomics)

在已完成的 ES8 特性中,這一項也許會花費人們最多的時間來理解和使用。它被故意以一種最小化的方式來實現,使用說明裡是這樣寫的:「在當前這個時點,這項提案只往 ECMAScript 里增加了簡易的原始方案;我們希望開發者社區把在特定領域裡有幫助的抽象概念放到一起」。我們很希望能夠看到這個方案將會繼續等待,並且在添加到這個特性中之前,還要看看大家會如何使用這項特性。查看 Github:Shared memory and atomics

更新: ES8 中的另外兩個特性

自從這篇內容發布以來,另外一項特性也已經在 ES8/ES2017 中完成了,模板文字限制的改進,這項改進使得像模板文字一樣嵌入替換的特定領域語言(Domain Specific Language) 變得更容易了。

我們同樣也在之前的列表裡排除了另一個特性,在參數列表調用中對末尾逗號的支持。雖然這並不是語言中的重大變化,但這可能每年為用 Javascript 工作的人至少省下幾分鐘,並且希望抵制在一列參數或屬性中,用逗號開始每一行的做法。

這是我們對 ES9 和以後工作的願望單!

可觀察性(Observables),響應式架構的關鍵 (Dojo 2 的 可觀察特性)

全局性,一種用來一致地引用全局對象的標準 (Dojo 2 中的全局特性)

trimStart/trimEnd, 類似於 padStart/padEnd (估計是批量空格填充什麼的,回看特性2,譯者注)

import, 一種 ES 模塊標準中沒有的動態 import 機制

類和屬性裝飾器 (已經在 TypeScript 中實現)

非同步迭代 (Asynchronous iteration)

單指令多數據 (SIMD,Single Instruction Multiple Data), 它能夠使得渲染和使用像 WebGL, Canvas 之類的動畫加速

我們很興奮能夠使用 ES8 中的特性,並且期待看到更多的特性在今年或以後幾年裡提上議事日程。能夠看到為了不斷改進 Javascript 所做的努力和一致性真的很令人振奮。=

更新:根據評論和反饋,我們應該提一下:是的,我們知道官方的名字是 ES2017 和 ES2018,但是,在內部,它們仍舊被稱作 ES 的第 8 和第 9 個版本。我們想到了一個更好的命名規則也許會是 ES15, ES16 等等,但如果每一個人都對名字反應非常強烈,我們會在未來的文章中開始把他們叫做 ES2017 這樣的名字。再一次感謝你們的反饋

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 推酷 的精彩文章:

雲存儲服務 Dropbox 或年底啟動 IPO
為什麼蘋果耳機上的音量鍵在安卓手機上不管用?
關於心智、認知,多的是你不知道的事
QuickMock:基於Express的快速mock平台
使用 pasition 製作酷炫Path過渡動畫

TAG:推酷 |

您可能感興趣

具有領先性能、功率和面積比的GPU IP——The PowerVR Series8XT
TESLA勁敵,蔚來ES8
Rogue Swarm demo:將Vulkan和PowerVR Series8XE帶入我們的生活
將PowerVR Series8XT應用於汽車的五大理由
蔚來宣布召回4803輛ES8;疑似新iPhone視頻流出
蔚來召回4803輛ES8汽車 SpaceX進行今年第三次融資
蔚來召回4803輛ES8汽車 SpaceX進行今年第三次融資
傳統車VS新勢力 榮威MARVEL X/蔚來ES8選哪個?
蔚來的尷尬:ES6與ES8開始「左右手」互博
蔚來汽車:第二季度ES8和ES6總計交付3553輛
「動點播報」蔚來召回 4803 輛 ES8 汽車 SpaceX 進行今年第三次融資
蔚來赴美IPO,ES6年底上市,但ES8在哪兒?
蔚來汽車更新IPO招股書 已生產2200台ES8 交付1381台
德國研發的中國SUV約架蔚來ES8,屏幕竟有50英寸,售價還便宜15萬
累計交付8030輛ES8,即將發布ES6,李斌稱壓力增加
蔚來赴美提交IPO招股書:ES8 訂單17000個、上半年凈虧35億
蔚來公布 ES8 電池升級計劃:可升級至 84kWh
蔚來ES8說明文檔證實小米7/MIX2S支持無線充電
蔚來更新招股書,已生產2200台ES8
蔚來 ES8 賽道試駕:4.4 秒之外的細節、期待與迭代