[toc]
## ECMAScript 5.1與ES6

## 語法提案的批準流程

## ECMAScript 的歷史
1.0(1997) -> 2.0(1998.6) -> 3.0(1999.12) ->3.1(2008.7) -> 5.0(2009.12) -> 6.0(2015.6)
ES6 從開始制定到最后發布,整整用了15年。
前面提到,`ECMAScript 1.0` 是 1997年發布的,連續發布了ECMAScript2.0(1998年6月)和`ECMAScript 3.0`(1999年12月)。`3.0`版是一個巨大的成功,在業界得到廣泛支持,成為同行標準,奠定了 Javascript 語言的基本語法,以后的版本完全繼承。直到今天,初學者一開始學習 JavasScript,其實就是在學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開會決定,中止ECMAScript4.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月,ECMAScirpt 5.1 版發布,并且成為 ISO 國際標準(ISO/IEC 16262:2011)。
2013 年 3月,ECMAScript6 草案凍結,不再添加新功能。新的功能設想將被放到ECMAScript 7.
2013 年 12月,ECMAScript 6 草案發布。然后是12個月的討論期,聽取各方反饋。
2015 年 6 月,ECMAScript 6 正式通過,成為國際標準。從2000 年算起,這是已經過去了15年。
- 空白目錄
- window
- location
- history
- DOM
- 什么是DOM
- JS盒子模型
- 13個核心屬性
- DOM優化
- 回流與重繪
- 未整理
- 文檔碎片
- DOM映射機制
- DOM庫封裝
- 事件
- 功能組件
- table
- 圖片延遲加載
- 跑馬燈
- 回到頂部
- 選項卡
- 鼠標跟隨
- 放大鏡
- 搜索
- 多級菜單
- 拖拽
- 瀑布流
- 數據類型的核心操作原理
- 變量提升
- 閉包(scope)
- this
- 練習題
- 各種數據類型下的常用方法
- JSON
- 數組
- object
- oop
- 單例模式
- 高級單例模式
- JS中常用的內置類
- 基于面向對象創建數據值
- 原型和原型鏈
- 可枚舉和不可枚舉
- Object.create
- 繼承的六種方式
- ES6下一代js標準
- babel
- 箭頭函數
- 對象
- es6勉強筆記
- 流程控制
- switch
- Ajax
- eval和()括號表達式
- 異常信息捕獲
- 邏輯與和或以及前后自增
- JS中的異步編程思想
- 上云
- 優化技巧
- 跨域與JSONP
- 其它跨域相關問題
- console
- HTML、XHTML、XML
- jQuery
- zepto
- 方法重寫和方法重載
- 移動端
- 響應式布局開發基礎
- 項目一:創意簡歷