I want to pass around a function and rebind the this
. It works for some function types, but not others.
Here's my sample code:
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"
I understand that this
is rebound to the caller's context in fat-arrow functions (and I'm so glad!). I would expect the normal behavior of .apply
and .call
to override this and re-bind this
at runtime.
My question is: is there a way I can accomplish what I'm trying to do here with fat-arrow functions?
via Sir Robert
No comments:
Post a Comment