.bind无法使用es6类实例



使用bind文档,如果我用es6类实例替换对象(在他们的示例中定义为module(,它就不会绑定。

这是文件。。。https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_objects/Function/bind

这是我的密码。。。

class Foo {}
let foo = new Foo()
let fooVar = 'foo var'
let fooFunc = () => {
return this.var
}
foo['var'] = fooVar
fooFunc.bind(foo)
foo['func'] = fooFunc
// i expected this to return 'foo var', but instead get 'undefined'
foo.func()

如何将实例方法添加到现有实例中,并使其正确绑定?

如果您阅读有关箭头函数的文档,您将看到:

没有自己到this或super的绑定,不应用作方法。

因此,如果新的this没有,则无法绑定它

最新更新