ECMAScript 6简介数组
ECMAScript 6.0(如下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了。它的目标,是使得JavaScript语言能够用来编写复杂的大型应用程序,成为企业级开发语言。浏览器
标准的制定者有计划,之后每一年发布一次标准,使用年份做为版本。由于ES6的第一个版本是在2015年发布的,因此又称ECMAScript 2015(简称ES2015)。学习
2016年6月,小幅修订的《ECMAScript 2016 标准》(简称 ES2016)如期发布。因为变更很是小(只新增了数组实例的includes
方法和指数运算符),所以 ES2016 与 ES2015 基本上是同一个标准,都被看做是 ES6。根据计划,2017年6月将发布 ES2017code
ECMAScript和JavaScript的关系继承
一个常见的问题是,ECMAScript和JavaScript究竟是什么关系?ip
要讲清楚这个问题,须要回顾历史。1996年11月,JavaScript的创造者Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,但愿这种语言可以成为国际标准。次年,ECMA发布262号标准文件(ECMA-262)的初版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript,这个版本就是1.0版。开发
该标准从一开始就是针对JavaScript语言制定的,可是之因此不叫JavaScript,有两个缘由。一是商标,Java是Sun公司的商标,根据受权协议,只有Netscape公司能够合法地使用JavaScript这个名字,且JavaScript自己也已经被Netscape公司注册为商标。二是想体现这门语言的制定者是ECMA,不是Netscape,这样有利于保证这门语言的开放性和中立性。it
所以,ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现(另外的ECMAScript方言还有Jscript和ActionScript)。平常场合,这两个词是能够互换的。io
ECMAScript的历史语法
ECMAScript 1.0是1997年发布的,接下来的两年,连续发布了ECMAScript 2.0(1998年6月)和ECMAScript 3.0(1999年12月)。3.0版是一个巨大的成功,在业界获得普遍支持,成为通行标准,奠基了JavaScript语言的基本语法,之后的版本彻底继承。直到今天,初学者一开始学习JavaScript,其实就是在学3.0版的语法。
2000年,ECMAScript 4.0开始酝酿。这个版本最后没有经过,可是它的大部份内容被ES6继承了。所以,ES6制定的起点实际上是2000年。
为何ES4没有经过呢?由于这个版本太激进了,对ES3作了完全升级,致使标准委员会的一些成员不肯意接受。ECMA的第39号技术专家委员会(Technical Committee 39,简称TC39)负责制订ECMAScript标准,成员包括Microsoft、Mozilla、Google等大公司。
2007年10月,ECMAScript 4.0版草案发布,原本预计次年8月发布正式版本。可是,各方对因而否经过这个标准,发生了严重分歧。以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,在更远的未来再考虑推出。TC39委员会的整体考虑是,ES5与ES3基本保持兼容,较大的语法修正和新功能加入,将由JavaScript.next完成。当时,JavaScript.next指的是ES6,第六版发布之后,就指ES7。TC39的判断是,ES5会在2013年的年中成为JavaScript开发的主流标准,并在此后五年中一直保持这个位置。
2011年6月,ECMAscript 5.1版发布,而且成为ISO国际标准(ISO/IEC 16262:2011)。
2013年3月,ECMAScript 6草案冻结,再也不添加新功能。新的功能设想将被放到ECMAScript 7。
2013年12月,ECMAScript 6草案发布。而后是12个月的讨论期,听取各方反馈。
2015年6月,ECMAScript 6正式经过,成为国际标准。从2000年算起,这时已通过去了15年。