2013年3月,ES6的草案封閉,不再接受新功能了。新的功能將被加入ES7。
任何人都可以向TC39提案,從提案到變成正式標準,需要經歷五個階段。每個階段的變動都需要由TC39委員會批準。
Stage 0 - Strawman(展示階段)
Stage 1 - Proposal(征求意見階段)
Stage 2 - Draft(草案階段)
Stage 3 - Candidate(候選人階段)
Stage 4 - Finished(定案階段)
一個提案只要能進入Stage 2,就差不多等于肯定會包括在ES7里面。
本書的寫作目標之一,是跟蹤ECMAScript語言的最新進展。對于那些明確的、或者很有希望列入ES7的功能,尤其是那些Babel已經支持的功能,都將予以介紹。
本書介紹的ES7功能清單如下。
Stage 0:
Function Bind Syntax:函數的綁定運算符
String.prototype.at:字符串的靜態方法at
Stage 1:
Class and Property Decorators:Class的修飾器
Class Property Declarations:Class的屬性聲明
Additional export-from Statements:export的寫法改進
String.prototype.{trimLeft,trimRight}:字符串刪除頭尾空格的方法
Stage 2:
Rest/Spread Properties:對象的Rest參數和擴展運算符
Stage 3
SIMD API:“單指令,多數據”命令集
Async Functions:async函數
Object.values/Object.entries:Object的靜態方法values()和entries()
String padding:字符串長度補全
Trailing commas in function parameter lists and calls:函數參數的尾逗號
Object.getOwnPropertyDescriptors:Object的靜態方法getOwnPropertyDescriptors
Stage 4:
Array.prototype.includes:數組實例的includes方法
Exponentiation Operator:指數運算符
ECMAScript當前的所有提案,可以在TC39的官方網站Github.com/tc39/ecma262查看。
Babel轉碼器可以通過安裝和使用插件來使用各個stage的語法。
下一篇:Web研發模式的演變
掃一掃 加微信咨詢