ES6 入門系列 (一)ES6的前世此生

  要學好javascript , ECMAScript標準比什麼都強,javascript

  ESMAScript標準已經用最嚴謹的語言和最完美的角度展示了語言的實質和特性。前端

理解語言的本質後,你已經從沙堆裏挑出了珍珠,能經得起時光的磨礪。java

  有不少問題在網絡上被包裝了太屢次,解釋的千奇百怪,但用規範的語言來描述竟是如此簡單。web

  什麼是ES6, 剛開始學ES6的時候我覺得它就是ECMAScript2015, npm

然而ES6是一個泛指, 它是指5.1版本後JavaScript的下一代標準,瀏覽器

它涵蓋了ES2015, ES2016, ES2017等。網絡

  那ES6語法又是誰提出來的呢? 學習

  任何人均可以向標準委員會提案, 要求修改語言標準。一種新的語法從提案變成正式標準,命令行

須要通過五個階段,每一個階段的變更都要由TC39委員會批准。繼承

  • Stage0:   Strawman(展現階段)
  • Stage1:    Proposal(徵求意見階段)
  • Stage2:    Draft(草案階段)
  • Stage3:    Candidate(候選階段)
  • Stage4:     Finished(定案階段)

一個提案只要能進入草案階段,就基本認爲其包括在之後的正式標準裏,而ES6從開始定製到最後發佈,整整用了15年。

  1997年, ECMAScript 1.0 發佈

  1998年6月, ECMAScript  2.0 發佈

  1999年12月, ECMAScript 3.0 發佈, 這個版本奠基了javascript 語言的基本語法, 在業界獲得普遍支持,

成爲通行標準, 直到今天, 初入web前端的學習者學js其實也是學習3.0的語法。

  2000年,ECMAScript 4.0開始醞釀, 可是相信大部分本文的讀者沒有聽過ES4, 由於ES4太激進了,對ES3

作了完全的升級,徹底不兼容ES3, 這意味着用ES3寫的網頁之後就不能用了, 致使標準委員會的一些成員不肯意接受, 

因此這個版本最後沒有經過,可是其大部份內容被ES6所繼承, 因此說ES6制定的起點應該是在2000年。

  具體是怎麼回事呢?

  2007年10月, ECMAScript 4.0草案發布, 原本預計次年8月發佈正式版本,可是各方對因而否經過這個標準發生了

嚴重分歧, 以Yahoo, Microsoft, Google爲首的大公司, 反對對JavaScript的大幅升級,主張小幅改動;以JavaScript創造者

Brendan Eich 爲首的Mozilla公司,則堅持當前的草案。

  2008年7月, 因爲各方分歧太大, ECMA開會決定終止ES4的開發, 將其中涉及現有功能改善的一小部分發布爲ES3.1,

而將其餘激進的設想擴大範圍,放入之後的版本,該版本項目代號爲Harmony(和諧), 會後不久, ES3.1 就更名爲 ES 5了。

  2009年12月,ES5.0正式發佈。Harmony 項目則一分爲二, 一些較爲可行的設想定名爲JavaScript.next繼續開發,後來

演變成ES6; 一些不太成熟的設想被視爲JavaScript.next.next, 更遠的未來考慮推出。

  2011年6月,ES5.1發佈,而且成爲ISO國際標準。

  2013年3月, ES6草案凍結,再也不添加新功能,新的功能設想將放到ES7中。

  2013年12月,ES6草案發布,此後時12個月的討論期,聽取各方意見。

  2015年6月,ES6正式經過,成爲國際標準。從2000年算起,已通過了15年。

  ECMAScript 經歷了這些變故後, 也從語言的角度反應了各大廠商之間的立場差別,可是JavaScript遵照一個JavaScript的原則,

就是全部的版本都要向後兼容, web語言的解釋器版本不是由開發者決定的,而是由用戶決定的,因此JavaScript沒法向Python, Ruby, Perl

那樣, 發佈一個不向下兼容的大版本, 這就是ES4 失敗的根源。

  如今各大瀏覽器的最新版本對ES6的支持度愈來愈高, 若是你想檢查你的各類運行環境對ES6的支持狀況,

能夠下載阮一峯老師的es-checker。

  命令行輸入:$  npm install -g  es-checker

        $  es-checker

  

 摘抄自 ———— 阮一峯老師的ES6標準入門。

相關文章
相關標籤/搜索