Binding Arguments with Bind
One of my favorite and most essential
Function method is
bind to simply bind a method's call to its host object, but did you know you can also bind arguments with the host object?
You've probably done something like this:
this._onTargetAvailable = this._onTargetAvailable.bind(this);
That pattern is frequently used, especially in classed-based code or when passing callback functions. What you may not often see is bound arguments:
this._onTargetAvailable = this._onTargetAvailable.bind( this, arg1, arg2, arg3 );
Binding arguments gives you more power in how your bound function is used! Whenever
onTargetAvailable is called, the arguments you provide will be in that order, and any additional arguments will be added to the end of the argument list!