Higher-Order Functions
A higher-order function is a function that either takes a function as a parameter or returns a function as a value.
This builds on top of JavaScript's first-class function support. In a language that doesn't support first-class functions, it is difficult to implement higher-order functions.
Higher-order functions enable function composition patterns. In most instances, we use higher-order functions to augment an existing function.
bind, apply, and call
There are a few JavaScript built-in methods on the Function
object: bind
, apply
and call
.
Function#bind
allows you to set the execution context for a function. When called, bind returns a new function with the first parameter to the call bound as the this
context of the function. The following arguments to bind are used when the returned function is called. When the bound function is called, parameters can be supplied. These will appear in the argument list, after the parameters are set...