这里有两个简单的代码:
let myObject = {
objectName: () => {
console.log(this);
}
};
myObject.objectName();
第一个代码打印"这个"值为:{}
let myObject = {
objectName: function() {
console.log(this);
}
};
myObject.objectName();
第二个代码打印"这个"值为:{objectName:[Function:objectName]}
有人可以用简单的英语解释为什么"这个"在箭头功能有不同的价值? 谢谢!
答案 0 :(得分:0)
箭头函数表达式的语法短于函数表达式,并且没有自己的this
,arguments
,super
或new.target
。使用了封闭执行this
的{{1}}值。
如果您不使用箭头函数,函数将从其调用的位置获取context
值。
查看此内容以获取更多详情
How does event handlers with arrow functions achieve context binding