ES6 新增内容概览
相比对ES5 不痛不痒的几个改动,ES6新增了大量的内容。这里先简单罗列一下,后续会一个一个仔细解释。
打开ES6支持
chrome 已经支持了很多es6的特性,不过被关闭了,你可以在这里打开 chrome://flags/#enable-javascript-harmony。改完之后记得重启浏览器生效。
这可以查看主流浏览器和自己当前浏览器的兼容性 https://kangax.github.io/compat-table/es6/
编译ES6
有些特性即使打开了chrome的配置,依然不支持,比如 class。这个时候可以用 babel 来把 es6 的代码编译成 es5。它支持绝大部分的特性。
而且查看编译后的代码很容易理解这些特性。
地址:https://github.com/babel/grunt-babel
arrow function
可以用箭头语法来写函数了,很像 lambda 表达式,并且arrow function 会自动绑定this为当前上下文。
目前最新版的 chrome 43 竟然还是不支持,不过最新的火狐已经支持了,可以在火狐下实验。
[1,2,3,4].map(d=>d*d); //单行
//也可以写多行
[1,2,3,4].map(d=>{
console.log(this);
return d*d
});