node.js – 箭头函数不能在ES6类中绑定`this`吗?

参见英文答案 >
ES6 arrow function lexical this in V8                                    2个

我很惊讶这不起作用. (我正在使用–harmony_arrow_functions标志运行iojs 2.3.0.)

class Foo {
  constructor() { this.foo = "foo"; }
  sayHi() { return (() => this.foo)(); }
}
f = new Foo();
f.sayHi // Cannot read property 'foo' of undefined.

我本来期望箭头功能为此选择正确的值.我错过了什么吗?

最佳答案 我不知道这个问题,但我的版本对我来说很好:

class Foo {
    constructor() {
        this.foo = "foo";
    }

    sayHi() {
        return (() => console.log(this.foo))();
    }
}

const f = new Foo();
f.sayHi();

顺便说一句:我正在使用巴贝尔

点赞