ECMAScript6,简称ES6,是JavaScript的下一代标准。它的目标是,使JavaScript语言可以用于编写复杂的大型应用程序,成为企业级开发语言。
1、ECMAScript 和JavaScript 的关系
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)。日常场合,这两个词是可以互换的。
2、ES6
含义是5.1版以后的 JavaScript的下一代标准,涵盖了ES2015、ES2016、ES2017等等
3、部署
Node 是 JavaScript的服务器运行环境(runtime)。就好比,Tomcat是Java的服务器运行环境。
目前,随着时间的推移,支持度已经越来越高了,超过90%的ES6 语法特性都实现了。
那如果不支持,怎么办?
——使用解码器。将 ES6 代码转为 ES5 代码,从而在现有环境执行。这意味着,我们可以用 ES6 的方式编写程序,又不用担心现有环境是否支持。下面是一个例子。
上面的原始代码用了箭头函数,Babel将其转为普通函数,就能在不支持箭头函数的 JavaScript 环境执行了。
(对ES6研究的少,参考自阮一峰老师的文章:http://es6.ruanyifeng.com/#docs/intro,后续将结合自己在项目中的实战加入自己的理解。)