ECMAScript
是JS脚本语言规范。
JavaScript
通用的跨平台脚本语言,遵循ECMA标准。
ECMAScript的各版本及特点
ECMAScript 1
1997年6月发布:
本质上与javascript 1.1 相同
只不过只不过删除了所有针对浏览器的代码并作了一些较小的改动:ECMAScript要求支持Unicode标准,而且对象也变成了平台无关的。
ECMAScript 2
1998年6月发布:
主要是编辑加工的结果。这一版的内容更新是为了与ISO/IEC-16262保持严格一致,没有作任何新增、修改或删节处理。
因此,一般不使用第2版来衡量ECMAScript实现的兼容性。
ECMAScript 3
1999年12月发布:
是对ECMAScript标准第一次真正的修改。
新增了对正则表达式、新控制语句、try-catch异常处理的支持,修改了字符处理、错误定义和数值输出等内容。
从各方面综合来看,第3版标志着ECMAScript成为了一门真正的编程语言。也成为JavaScript的通行标准,得到了广泛支持。
ECMAScript 4
2007年10月ECMAScript 4.0版草案发布
对3.0版做了大幅升级,预计次年8月发布正式版本。
草案发布后,由于4.0版的目标过于激进,各方对于是否通过这个标准,发生了严重分歧。
以Yahoo、Microsoft、Google为首的大公司,反对JavaScript的大幅升级,主张小幅改动;
以JavaScript创造者Brendan Eich为首的Mozilla公司,则坚持当前的草案。
2008年7月ECMAScript 4.0发布前被废弃
由于对于下一个版本应该包括哪些功能,各方分歧太大,争论过于激进,ECMA开会决定,中止ECMAScript 4.0的开发(即废除了这个版本)。
将其中涉及现有功能改善的一小部分,发布为ECMAScript3.1,而将其他激进的设想扩大范围,放入以后的版本,由于会议的气氛,该版本的项目代号起名为Harmony(和谐)。
会后不久,ECMAScript 3.1就改名为ECMAScript 5。
ECMAScript 5
2009年12月发布:
ECMAScript 5.0版发布:
Harmony项目则一分为二,
一些较为可行的设想定名为JavaScript.next继续开发,后来演变成ECMAScript 6;
一些不是很成熟的设想,则被视为JavaScript.next.next,在更远的将来再考虑推出。
TC39的总体考虑是,ECMAScript5与ECMAScript3基本保持兼容,较大的语法修正和新功能加入,将由JavaScript.next完成。
(当时,JavaScript.next指的是ECMAScript 6。第六版发布以后,将指ECMAScript 7)
该版本力求澄清第3版中的歧义,并添加了新的功能。
新功能包括:原生JSON对象、继承的方法、高级属性的定义以及引入严格模式。
2011年6月发布:
ECMAscript 5.1版发布:
并且成为ISO国际标准(ISO/IEC16262:2011)。到了2012年底,所有主要浏览器都支持ECMAScript 5.1版的全部功能
ECMAScript 6
2015年6月发布:
ECMAScript 6正式发布,并且更名为“ECMAScript 2015”。
ECMAScript 7:
最新的版本,有很多的新规范。