2016-08-22 29 views
6

我在關於 「新十歲上下」 的JavaScript文章下列條款之間最近困惑:ES6,ES7(和更大),ES2015,階段0,階段1(和更大)之間的關係是什麼?

  • ES6
  • ES7(有時,雖然很少,ES8和更大)
  • ES2015(有時ES2016和更大)
  • 0級(和舞臺-1和更大)

看來他們有些是子集,功能明智的,別人的,但我不是很清楚其上的子集WHI CH。

+1

https://en.wikipedia.org/wiki/ECMAScript – str

+1

注意[人似乎有什麼 「ES7」 不同的想法意味着](HTTPS:/ /twitter.com/fkling42/status/729700943164399616)。我認爲術語「ES6」和「ES7」已經過時,並且使用ES2016,ES2017等將會更常見。 –

回答

12

不夠公平,這有點令人困惑。 :-)

四位數字是年,其他是規格版本。

ES2015是ES6。它是ECMAScript 2015的縮寫,ECMAScript 2015是該語言的正式名稱,由該規範的第六版(即「ES6」)定義。從the spec

標準ECMA-262

第6版/ 2015年6月

ECMAScript®2015年語言規範

同樣,ES2016 is ES7

標準ECMA- 262

7ᵗʰ版/ 2016年6月

ECMAScript®2016語言規範

2015年是第一次,他們把一年分爲語言名稱。之前的規範,2011年的5.1,只是「ECMAScript®語言規範」。所以你會聽到ES5.1(2011年6月發佈)ES5(2009年12月發佈)和ES3(1999年12月發佈)。 (沒有ES4。)

階段0等是指在this github page managed by the TC-39 committee responsible for the language上處理的提升語言的提案階段。該增強處理被佈置在this page from TC-39

0 - 稻草人

1 - 建議

2 - 草案

3 - 候選人

4 - 成品

...一旦它在階段4,它將是listed here以及預期的規格。例如,Async Functions已達到階段  4,並將在ES2017中。

-1

的TC39建議歸類爲4個階段:

  • 0級 - 稻草人:只是一個想法。
  • 階段1 - 建議:這是值得處理的。
  • stage-2 - Draft:initial spec。
  • stage-3 - 候選:完整的規範和初始瀏覽器實現。
  • 階段4 - 完成:將被添加到下一個年度版本。

此外,檢查出當前TC39 proposals