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