关于箭头函数this指向问题?

很多地方都说箭头函数的this在定义的时候就已经确定了。但是以下代码:

function People() {
say=()=>{
console.log(this)
}
say();
}
People(); // ==> window
new People(); // ==> People{}

第一个window可以理解,为什么第二个变成了people对象呢?不应该也是window吗?

1个回答

箭头函数中this和生成这个函数时的上下文有关,第一个window,第二个是people的实例对象,自己看

http://es6.ruanyifeng.com/#docs/function#%E7%AE%AD%E5%A4%B4%E5%87%BD%E6%95%B0

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问