考虑例如
const myObject = {
foo: 'foo',
bar: {
foo: 'bar',
baz: function () { console.log( this.foo ) },
}
};
myObject.bar.baz(); // Prints 'bar'
而使用箭头操作符产生
const myObject = {
foo: 'foo',
bar: {
foo: 'bar',
baz: () => console.log( this.foo ),
}
};
myObject.bar.baz(); // Prints 'undefined'
任何人都可以解释为什么行为不同?
我知道箭头函数是词法范围的,但无法理解对this
的引用