使用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
没有,则无法绑定它