ECMAScript和JavaScript的关系
在1996年,那一年我才4岁。
JavaScript 的亲生爸爸 Netscape 不要他了。
可又谁知道,时隔20年后,我居然要靠这个弃婴在社会上讨口饭吃。
So,谁来接管了这个弃婴呢?
原来一个作为标准化的组织 ECMA 接手了它。
其实, Netscape 的出发点是好的,所谓,“望子成龙,望女成凤”,他也希望 JavaScript 能在未来的时代里形成自己的风格和潮流,成为一种国际标准。
而后的20多年时间里,JavaScript果然不负所望,成为新的弄潮儿。
在次年,1997年。养父 ECMA 发布了262号标准文件的第一版,也就是 ECMA-262 。这个已经具有了划时代的意义了,因为也就是这个文件的发布,规定了浏览器脚本语言的标准,它们赋予了这个孩子一个新的名字,管它叫做 ECMAScript 。
这个版本就是1.0版本。
至于,它为什么不叫 JavaScript ?
一是这个名字是 Netscape 起的,它们不想自己又被侵犯的感觉,而是ECMA也想提现是自己提出并且制定了标准,所以要带上自己的一点色彩。
因此,我们可以这样理解二者的关系,ECMAScript 是 JavaScript 的规格,而后者才是核心的东西去实现该规格。
ECMAScript 2015 和 ES6的关系
What is the different between ECMAScript 2015 and ES6?
很简单,它俩就是一个东西。
ECMAScript 2015(简称ES2015)是其官方名字,而 ES6 是一个别名,泛指。
在2011年, ECMA 发布了 ECMAScript 5.1 版本。
而在我最初接触前端这个行业的时候,或者我们大多数人最开始写的 JavaScript 代码都是这个版本的。
骚动不安的开发者们,在这个版本发布以后就开始不断地提交新的功能,标准的制定者们发现,下一版本要更新的语法功能太多了,而这也将产生生产力的变革。
所以,如我们现在发布产品一样,大功能当然要改一个大的版本号,于是开始紧锣密鼓的着手 ES6.0 版本的开发和制定。
所以我们说的 ES6 就是指 JavaScript 语言的下一个版本。
按照通常的做法,我们会在一个大版本后升级其对应的小版本,比如说:ES6.0版本、ES6.1版本、ES6.2版本...
But,标准的制定者们不想这么做,他们希望这种标准的升级能够成为一种常规的流程。anybody在anytime都可以向标准联盟提交新的提案。然后,每个月这些联盟成员会聚集在一起商议、裁定我们要不要这些提案。直到某个提案成熟了,觉得其可以正式地纳入标准了,就把它敲定下来。
再但是,敲定下来的提案总得有个时间去发布更新到新的版本吧。这些制定者们又觉得频繁的小版本更新很繁琐,于是,他们决定把每年的六月份定为了 JavaScript 的吉祥月,在这个月,进行一次版本的发布。
我们回顾一下,上面我们说到2011年 ECMA 发布了 ECMAScript 5.1 的版本。
直到2015年的6月,也是 JavaScript 历史上的第一个吉祥月,它发布了自己的 ES6.0 版本,也就是我们熟知的 ES6 。我们同时也以它发布的年份对其进行另外一种命名:ECMAScript 2015标准(简称ES2015)。
我们需要记住的一点就是:2015年是 ES6 的诞生年。
于是,后面陆续的就会有:
- ECMAScript 2016标准 ES7 (2016年6月发布)
- ECMAScript 2017标准 ES8 (2017年6月发布)
- ECMAScript 2018标准 ES9 (2018年6月发布)
每年都会有一些新的特性。
写到这里让我想起一句话:
优秀的工程师都是懒的
嗯,他们喜欢造出各种新奇的方案去改变之前解决问题的困境和复杂度。向伟大的程序员致敬!
回到我们的主题,我们现在学习和工作中用到的 ES6 ,它是 JavaScript 历史上的一个分水岭,它泛指在2015年更新标准以后的标准,涵盖了上面列举到的三条标准。它被广义的认为是“下一代的JavaScript语言”。
关于语法提案的批准流程
任何人都可以向标准联盟提案,要求修改语言的标准。
一项提案升级到标准需要渡五次劫,每次都要需要通过联盟的严格审核:
- Stage 0 - Strawman (展示阶段)
- Stage 1 - Proposal (征求意见阶段)
- Stage 2 - Draft (草案阶段)
- Stage 3 - Candidate (候选人阶段)
- Stage 4 - Finished (定案阶段)
一般来讲,如果可以渡劫到第三个阶段 -- 也就是 Stage 2 阶段,基本在下一个标准更新就会纳入到正式的标准里面。
下一篇文章将会介绍如何在一个项目中使用ES6语法。
网友评论