为了账号安全,请及时绑定邮箱和手机立即绑定

ES6中箭头函数作为对象属性,this的指向问题

ES6中箭头函数作为对象属性,this的指向问题

潇潇雨雨 2018-07-15 19:18:10
看了阮大神ES6入门一书的时候,介绍箭头函数thisthis指向的固定化,并不是因为箭头函数内部有绑定this的机制,实际原因是箭头函数根本没有自己的this,导致内部的this就是外层代码块的this。网上也有云箭头函数的this绑定看的是this所在的函数定义在哪个对象下,绑定到哪个对象则this就指向哪个对象const Person = {                 'sayHello': () => {console.log(this)}             };       Person.sayHello();这里的this为什么指向window?为什么不是外部代码块的Person对象的this.
查看完整描述

3 回答

?
SanHuo

TA贡献1条经验 获得超0个赞

Person的this就是指向window。


查看完整回答
反对 回复 2018-10-31
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

你的代码等效为:

const func = () => {  
    console.log(this);
};
const Person = {  hello: func,
};

Person.hello();

那么自然就是 window 咯,声明函数的地方是 window 嘛。


查看完整回答
反对 回复 2018-07-19
  • 3 回答
  • 0 关注
  • 884 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信