Currying
Currying — Currying transforms a function that takes multiple arguments into a sequence of functions, each taking a single argument. Currying is a functional programming technique that converts a function with multiple parameters into a chain of single-parameter functions. Each returned function takes the next argument until all arguments are provided. Partial application (fixing some arguments) is closely related but not the same as currying. This term relates to the Function category of the reference. You will meet currying in practice when working with APIs such as Function.prototype.call(), Function.prototype.apply(), Function.prototype.bind(), Function.prototype.toString(). Related terms: Closure, Hoisting, Event Loop, Prototype Chain, Temporal Dead Zone (TDZ), IIFE (Immediately Invoked Function Expression). Understanding currying makes the rest of the JavaScript documentation noticeably easier to follow, because the concept recurs across methods, guides, and error messages. Look up more definitions in the JavaScript glossary.