为什么o.foo()
将全局对象打印到控制台?
let o = {
foo: () => console.log(this),
bar() { console.log(this); }
};
o.foo(); // Global object / undefined
o.bar(); // o
我认为箭头功能的等价物可能是这样的(但它不是):
let o = {
foo: function() {
var self = this;
console.log(self);
},
bar() {
console.log(this);
}
};
o.foo(); // o
o.bar(); // o