以下文章來(lái)源于魚(yú)頭的Web海洋 等太,作者陳大魚(yú)頭
來(lái)自公眾號(hào):魚(yú)頭的Web海洋
介紹
ECMAScript是一種由Ecma國(guó)際(前身為歐洲計(jì)算機(jī)制造商協(xié)會(huì))在標(biāo)準(zhǔn)ECMA-262中定義的腳本語(yǔ)言規(guī)范蛮放。這種語(yǔ)言在萬(wàn)維網(wǎng)上應(yīng)用廣泛,它往往被稱(chēng)為JavaScript或JScript瞻想,但實(shí)際上后兩者是ECMA-262標(biāo)準(zhǔn)的實(shí)現(xiàn)和擴(kuò)展压真。
歷史版本
至發(fā)稿日為止有九個(gè)ECMA-262版本發(fā)表蘑险。其歷史版本如下:
1.1997年6月:第一版
2.1998年6月:修改格式,使其與ISO/IEC16262國(guó)際標(biāo)準(zhǔn)一樣
3.1999年12月:強(qiáng)大的正則表達(dá)式泼差,更好的詞法作用域鏈處理,新的控制指令堆缘,異常處理柴信,錯(cuò)誤定義更加明確宽气,數(shù)據(jù)輸出的格式化及其它改變
4.2009年12月:添加嚴(yán)格模式("use strict")随常。修改了前面版本模糊不清的概念萄涯。增加了getters,setters枣察,JSON以及在對(duì)象屬性上更完整的反射。
5.2011年6月:ECMAScript標(biāo)5.1版形式上完全一致于國(guó)際標(biāo)準(zhǔn)ISO/IEC 16262:2011序目。
6.2015年6月:ECMAScript 2015(ES2015)伯襟,第 6 版,最早被稱(chēng)作是 ECMAScript 6(ES6)姆怪,添加了類(lèi)和模塊的語(yǔ)法,其他特性包括迭代器俺附,Python風(fēng)格的生成器和生成器表達(dá)式,箭頭函數(shù)事镣,二進(jìn)制數(shù)據(jù)揪胃,靜態(tài)類(lèi)型數(shù)組唠叛,集合(maps,sets 和 weak maps)艺沼,promise蕴掏,reflection 和 proxies。作為最早的 ECMAScript Harmony 版本盛杰,也被叫做ES6 Harmony。
7.2016年6月:ECMAScript 2016(ES2016)定拟,第 7 版,多個(gè)新的概念和語(yǔ)言特性青自。
8.2017年6月:ECMAScript 2017(ES2017)驱证,第 8 版,多個(gè)新的概念和語(yǔ)言特性抹锄。
9.2018年6月:ECMAScript 2018 (ES2018),第 9 版伙单,包含了異步循環(huán),生成器念秧,新的正則表達(dá)式特性和 rest/spread 語(yǔ)法扫沼。
10.2019年6月:ECMAScript 2019 (ES2019),第 10 版缎除。
發(fā)展標(biāo)準(zhǔn)
TC39(Technical Committee 39)是一個(gè)推動(dòng)JavaScript發(fā)展的委員會(huì),它的成語(yǔ)來(lái)自各個(gè)主流瀏覽器的代表成語(yǔ)器罐。會(huì)議實(shí)行多數(shù)決,每一項(xiàng)決策只有大部分人同意且沒(méi)有強(qiáng)烈反對(duì)才能去實(shí)現(xiàn)铸董。
TC39成員制定著ECMAScript的未來(lái)。
每一項(xiàng)新特性最終要進(jìn)入到ECMAScript規(guī)范里粟害,需要經(jīng)歷5個(gè)階段,這5個(gè)階段如下:
?Stage 0: Strawperson
只要是TC39成員或者貢獻(xiàn)者悲幅,都可以提交想法
?Stage 1: Proposal
這個(gè)階段確定一個(gè)正式的提案
?Stage 2: draft
規(guī)范的第一個(gè)版本,進(jìn)入此階段的提案大概率會(huì)成為標(biāo)準(zhǔn)
?Stage 3: Candidate
進(jìn)一步完善提案細(xì)則
?Stage 4: Finished
表示已準(zhǔn)備好將其添加到正式的ECMAScript標(biāo)準(zhǔn)中