ECMA6中的箭头函数

ecma6的箭头函数,最初看起来实在让人头大,但其实规则很简单。

基本格式是

var a=(x,y)=>{return (x+y)};
 console.log(a(10,20))

然后就是简写规则。先看参数部分的简写

() => { … } // 零个参数用 () 表示;

x => { … } // 一个参数可以省略 ();

(x, y) => { … } // 多参数不能省略 ();

后面代码块部分也可以简写(小于一条语句)

()=>x  //相当于return x

最简单的样子是这样

var a = a=>a;

a(22)    //22

这个相当于

var a = function(a){ return a; };

a(22);


接下来来个神奇的demo

var a = (a,b) =>({a,b})
console.log(a(2,3))    //{a:2,b:3}
如果想直接返回一个对象,可以这么写。

接下来是箭头函数的一些问题。

箭头函数没有自己的this

let obj = {
    color: "blue",
   getColor: () => {
     return this.color;//this指向window
   }
};
因为箭头函数没有自己的this,所以this直接指向了window

随机浏览