【发布时间】:2017-08-20 17:46:20
【问题描述】:
我是箭头函数的新手,我不明白为什么我可以使用此代码:
const adder = {
sum: 0,
add(numbers) {
numbers.forEach(n => {
this.sum += n;
});
}
};
adder.add([1,2,3]);
// adder.sum === 6
...它工作得很好,但在以下情况下,this 没有正确绑定:
const adder = {
sum: 0,
add: (numbers) => {
numbers.forEach(n => {
this.sum += n;
});
}
};
adder.add([1,2,3]);
// Cannot read property sum
【问题讨论】:
-
两种情况都写
console.log(this)看看。 -
我不明白为什么这被标记为重复。它不是关于一般的箭头函数,而是关于两个嵌套的箭头函数。
标签: javascript ecmascript-6 arrow-functions