ES6 Arrow功能这个

时间:2017-01-09 19:07:56

标签: javascript ecmascript-6

为什么arrow函数返回此窗口对象以及如何返回obj?

let obj = {
  name:"Maxi",
  fn  :()=>this,
}

console.log(obj.fn())

2 个答案:

答案 0 :(得分:2)

  

为什么箭头功能这个返回窗口对象

因为箭头函数在创建时捕获this的当前值。

  

我如何返回obj

如果您不想捕获this的当前值,请不要使用箭头功能。

答案 1 :(得分:1)

使用箭头函数,this不受其自身上下文的约束。

箭头函数不会创建自己的this上下文,因此this在封闭上下文中具有原始含义,在您的情况下为window