JavaScript 偏函数
一、什么是偏函数
偏函数(Partial)是指固定函数的一个或多个参数作为预设,并接受剩余的参数。
const add = (a, b) => {
return a + b;
}
const partialAdd = partial(add, 1);
partialAdd(2); // 3
二、偏函数的实现
const add = (a, b) => {
console.log(a + b)
}
const partial = (fn, ...arg) => {
return (...args) => {
return fn.call(this, ...arg, ...args);
}
}
const partialAdd = partial(add, 1)
partialAdd(2) // 3
三、柯里化与偏函数的区别
柯里化和偏函数都是将多个参数的函数,转为接受更少参数函数的方法。二者的区别在于:
- 柯里化是将函数转为多个嵌套的一元函数,也就是每个函数只接受一个参数;
- 偏函数可以接受一个或多个参数作为预设,并接受剩余的参数。