Partial Application
suggest changeSimilar to currying, partial application is used to reduce the number of arguments passed to a function. Unlike currying, the number need not go down by one.
Example:
This function:
function multiplyThenAdd(a, b, c) {
return a * b + c;
}
… can be used to create another function that will always multiply by 2 and then add 10 to the passed value;
function reversedMultiplyThenAdd(c, b, a) {
return a * b + c;
}
function factory(b, c) {
return reversedMultiplyThenAdd.bind(null, c, b);
}
var multiplyTwoThenAddTen = factory(2, 10);
multiplyTwoThenAddTen(10); // 30
The “application” part of partial application simply means fixing parameters of a function.
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents