我想传递一个函数并重新绑定this
。它适用于某些功能类型,但不适用于其他类型。
这是我的示例代码:
class F {
go (fxn) { fxn.apply(this, [1,2]) }
}
var f = new F();
f.foo = 'bar';
f.go( () => { console.log(this.foo) }); // undefined
f.go(function () { console.log(this.foo) }); // "bar"
我知道this
会在胖箭头函数中反弹到调用者的上下文中(我很高兴!)。我希望.apply
和.call
的正常行为可以覆盖它并在运行时重新绑定this
。
我的问题是:我可以在运行时以某种方式重新绑定fat-arrow函数吗?