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标准入门。

相关文章
相关标签/搜索