ECMAScript和Javascript的区别与关系



ECMAScript和Javascript有什么关系?以下摘自《ES6标准入门(第3版)》(阮一峰):

引用内容 引用内容
1996 年 11 月,Javascript 的创造者 Netscape 公司,决定将 Javascript 提交给标准化组织 ECMA,希望这种语言能够成为国际标准。次年,ECMA 发布 262 号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为 ECMAScript,这个版本就是 1.0 版。

该标准从一开始就是针对 Javascript 语言制定的,但是之所以不叫 Javascript,有两个原因。一是商标,Java 是 Sun 公司的商标,根据授权协议,只有 Netscape 公司可以合法地使用 Javascript 这个名字,且 Javascript 本身也已经被 Netscape 公司注册为商标。二是想体现这门语言的制定者是 ECMA,不是 Netscape,这样有利于保证这门语言的开放性和中立性。

因此,ECMAScript 和 Javascript 的关系是,前者是后者的规格,后者是前者的一种实现(另外的 ECMAScript 方言还有 Jscript 和 ActionScript)。日常场合,这两个词是可以互换的。

ECMAScript 的历史

引用内容 引用内容
1997年,ECMAScript 1.0 版发布。

1998年6月,ECMAScript 2.0 版发布。

1999年12月,ECMAScript 3.0 版发布,成为Javascript的通行标准,得到了广泛支持。3.0版是一个巨大的成功,在业界得到广泛支持,成为通行标准,奠定了 Javascript 语言的基本语法,以后的版本完全继承。直到今天,初学者一开始学习 Javascript,其实就是在学 3.0 版的语法。

2007年10月,ECMAScript 4.0 版草案发布,对3.0版做了大幅升级,预计次年8月发布正式版本。草案发布后,由于4.0版的目标过于激进,各方对于是否通过这个标准,发生了严重分歧。以Yahoo、Microsoft、Google为首的大公司,反对Javascript的大幅升级,主张小幅改动,以Javascript创造者Brendan Eich为首的Mozilla公司,则坚持当前的草案。

2008年7月,由于对于下一个版本应该包括哪些功能,各方分歧太大,争论过于激进,ECMA开会决定,中止ECMAScript 4.0的开发,将其中涉及现有功能改善的一小部分,发布为ECMAScript 3.1,而将其他激进的设想扩大范围,放入以后的版本,由于会议的气氛,该版本的项目代号起名为Harmony(和谐)。会后不久,ECMAScript 3.1 就改名为ECMAScript 5。

2009年12月,ECMAScript 5.0 版正式发布。Harmony项目则一分为二,一些较为可行的设想定名为Javascript.next继续开发,后来演变成ECMAScript 6;一些不是很成熟的设想,则被视为Javascript.next.next,在更远的将来再考虑推出。

2011年6月,ECMAscript 5.1 版发布,并且成为ISO国际标准(ISO/IEC 16262:2011)。

2013年3月,ECMAScript 6 草案冻结,不再添加新功能。新的功能设想将被放到ECMAScript 7。

2013年12月,ECMAScript 6 草案发布,然后是12个月的讨论期,听取各方反馈。

2015年6月17日,ECMAScript 6发布正式版本,即ECMAScript 2015。

2017年6月,ECMAScript发布第 8 个版本ES.Next,这个是不稳定版本。


评论: 0 | 引用: 0 | 查看次数: 1456
发表评论
登录后再发表评论!