【发布时间】:2018-11-10 19:20:32
【问题描述】:
我有这段代码:
const data = {
x: "Target"
}
let bar = () => {
console.log(this.x)
}
let final = bar.bind(data);
final();
此代码返回未定义。这是相同的代码,但具有非箭头函数:
const data = {
x: "Target"
}
let bar = function(){
console.log(this.x)
}
let final = bar.bind(data);
final();
此代码有效。我想了解为什么箭头功能使绑定无法正常工作。我知道他们处理 this 的方式不同。我知道它们保留了调用它们的原始上下文,在这种情况下不包括 x。但它是否也会阻止 bind() 工作?
【问题讨论】:
标签: javascript binding