0前言

1.ECMAScript 的歷史 

ES6 從開始制定到最后發布,整整用了15年。

前面提到,ECMAScript 1.0 是1997年發布的,接下來的兩年,連續發布了 ECMAScript 2.0(1998年6月)和 ECMAScript 3.0(1999年12月)。3.0版是一個巨大的成功,在業界得到廣泛支持,成為通行標準,奠定了 JavaScript 語言的基本語法,以后的版本完全繼承。直到今天,初學者一開始學習 JavaScript,其實就是在學3.0版的語法。

2000年,ECMAScript 4.0 開始醞釀。這個版本最后沒有通過,但是它的大部分內容被 ES6 繼承了。因此,ES6 制定的起點其實是2000年。

為什么 ES4 沒有通過呢?因為這個版本太激進了,對 ES3 做了徹底升級,導致標準委員會的一些成員不愿意接受。ECMA 的第39號技術專家委員會(Technical Committee 39,簡稱TC39)負責制訂 ECMAScript 標準,成員包括 Microsoft、Mozilla、Google 等大公司。

2007年10月,ECMAScript 4.0 版草案發布,本來預計次年8月發布正式版本。但是,各方對于是否通過這個標準,發生了嚴重分歧。以 Yahoo、Microsoft、Google 為首的大公司,反對 JavaScript 的大幅升級,主張小幅改動;以 JavaScript 創造者Brendan Eich為首的Mozilla公司,則堅持當前的草案。

2008年7月,由于對于下一個版本應該包括哪些功能,各方分歧太大,爭論過于激烈,ECMA 開會決定,中止 ECMAScript 4.0 的開發,將其中涉及現有功能改善的一小部分,發布為 ECMAScript 3.1,而將其他激進的設想擴大范圍,放入以后的版本,由于會議的氣氛,該版本的項目代號起名為 Harmony(和諧)?;岷蟛瘓?,ECMAScript 3.1 就改名為 ECMAScript 5。

2009年12月,ECMAScript 5.0 版正式發布。Harmony 項目則一分為二,一些較為可行的設想定名為 JavaScript.next 繼續開發,后來演變成 ECMAScript 6;一些不是很成熟的設想,則被視為 JavaScript.next.next,在更遠的將來再考慮推出。TC39 委員會的總體考慮是,ES5 與 ES3 基本保持兼容,較大的語法修正和新功能加入,將由 JavaScript.next 完成。當時,JavaScript.next 指的是ES6,第六版發布以后,就指 ES7。TC39 的判斷是,ES5 會在2013年的年中成為 JavaScript 開發的主流標準,并在此后五年中一直保持這個位置。

2011年6月,ECMAscript 5.1 版發布,并且成為 ISO 國際標準(ISO/IEC 16262:2011)。

2013年3月,ECMAScript 6 草案凍結,不再添加新功能。新的功能設想將被放到 ECMAScript 7。

2013年12月,ECMAScript 6 草案發布。然后是12個月的討論期,聽取各方反饋。

2015年6月,ECMAScript 6 正式通過,成為國際標準。從2000年算起,這時已經過去了15年。

2.Babel 轉碼器

Babel 是一個廣泛使用的 ES6 轉碼器,可以將 ES6 代碼轉為 ES5 代碼,從而在現有環境執行。這意味著,你可以用 ES6 的方式編寫程序,又不用擔心現有環境是否支持。下面是一個例子

1 // 轉碼前
2 input.map(item => item + 1);
3 
4 // 轉碼后
5 input.map(function (item) {
6   return item + 1;
7 });

 

面的原始代碼用了箭頭函數,Babel 將其轉為普通函數,就能在不支持箭頭函數的 JavaScript 環境執行了。

 來源:itnose

上一篇: 關于模板引擎二(Jade&&Mustache)

下一篇: 淺談按位存儲

分享到: 更多
手机购买彩票合法吗 山东时时走势 北京pk是最简单技巧 大乐透走势图带连线图表 时时彩龙虎计划软件 3d组三五码遗漏 pt电子游戏app下载 重庆时时开奖结果记录 pk10走势图手机软件 五码10期倍投 pt电子游戏app下载 重庆时时有什么规律 11选5稳赚不赔心得 时时彩后三组选包胆怎么玩 重庆肘时彩五星走势图 北京pk10大享计划软件