要学好javascript , ECMAScript标准比什么都强,
ESMAScript标准已经用最严谨的语言和最完美的角度展现了语言的实质和特性。
理解语言的本质后,你已经从沙堆里挑出了珍珠,能经得起时光的磨砺。
有很多问题在网络上被包装了太多次,解释的千奇百怪,但用规范的语言来描述竟是如此简单。
什么是ES6, 刚开始学ES6的时候我以为它就是ECMAScript2015,
然而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 发布
2000年,ECMAScript 4.0开始酝酿,直至2008年7月终止ES4的开发
2009年12月,ES5.0正式发布。
2011年6月,ES5.1发布,并且成为ISO国际标准(ISO/IEC 16262:2011)。
2013年3月, ES6草案冻结,不再添加新功能,新的功能设想将放到ES7中。
2013年12月,ES6草案发布,此后时12个月的讨论期,听取各方意见。
2015年6月17日,ES6正式通过,即ECMAScript 2015,成为国际标准。从2000年算起,已经过了15年。ES6 的第一个版本,就这样在2015年6月发布了,正式名称就是《ECMAScript 2015标准》(简称ES2015)。
2016年6月19日,ES7发布,小幅修订的《ECMAScript 2016标准》(简称 ES2016)如期发布,这个版本可以看作是ES6.1 版,因为两者的差异非常小(只新增了数组实例的includes方法和指数运算符),基本上是同一个标准。
因此,ES6 既是一个历史名词,也是一个泛指,含义是5.1版以后的 JavaScript的下一代标准,涵盖了ES2015、ES2016、ES2017等等,而ES2015 则是正式名称,特指该年发布的正式版本的语言标准。本书中提到ES6 的地方,一般是指 ES2015 标准,但有时也是泛指“下一代 JavaScript 语言”。
ECMAScript 经历了这些变故后, 也从语言的角度反应了各大厂商之间的立场差异,但是JavaScript遵守一个JavaScript的原则,就是所有的版本都要向后兼容, web语言的解释器版本不是由开发者决定的,而是由用户决定的,所以JavaScript无法向Python, Ruby, Perl
那样, 发布一个不向下兼容的大版本, 这就是ES4 失败的根源。
现在各大浏览器的最新版本对ES6的支持度越来越高, 如果你想检查你的各种运行环境对ES6的支持情况,可以下载es-checker
访问ruanyf.github.io/es-checker,可以看到您的浏览器支持ES6的程度。运行下面的命令,可以查看你正在使用的Node环境对ES6的支持程度。
命令行输入:
2017 年6月,ES8发布,即ECMAScript 2017。2017 年 6 月,ECMAScript 2017 由 TC39 委员会正式发布。这是ECMAScript发布的第 8个版本ES.Next,这个是不稳定版本。
2018年6月底,ES9发布,即ECMAScript 2018。因为是ECMAScript的第九个版本,所以也称为ES9 。它于2018年6月发布。
文章摘抄自 ———— 阮一峰老师的ES6标准入门。
转载于:https://www.cnblogs.com/LHLVS/archive/2019/05/20/10893725.html