箭头功能 - 为什么这会将全局对象打印到控制台?

时间:2015-04-29 19:23:31

标签: javascript ecmascript-6

为什么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

0 个答案:

没有答案