Skip to main content

bindKey

_.bindKey(object, key) # Ⓢ [Ⓣ][1] Ⓝ

Creates a function that invokes the method at object[key] with partials



prepended to the arguments it receives.





This method differs from _.bind by allowing bound functions to reference



methods that may be redefined or don't yet exist. See



Peter Michaux's article



for more details.





The _.bindKey.placeholder value, which defaults to _ in monolithic



builds, may be used as a placeholder for partially applied arguments.

Since​

0.10.0

Arguments​

  1. object (Object): The object to invoke the method on.
  2. key (string): The key of the method.

Returns​

(Function): Returns the new bound function.

Example​

var object = {
'user': 'fred',
'greet': function(greeting, punctuation) {
return greeting + ' ' + this.user + punctuation;
}
};

var bound = _.bindKey(object, ['greet', 'hi']);
bound('!');
// => 'hi fred!'

object.greet = function(greeting, punctuation) {
return greeting + 'ya ' + this.user + punctuation;
};

bound('!');
// => 'hiya fred!'

// Bound with placeholders.
var bound = _.bindKey(object, ['greet', _, '!']);
bound('hi');
// => 'hiya fred!'