Skip to main content

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

三、柯里化与偏函数的区别

柯里化和偏函数都是将多个参数的函数,转为接受更少参数函数的方法。二者的区别在于:

  • 柯里化是将函数转为多个嵌套的一元函数,也就是每个函数只接受一个参数;
  • 偏函数可以接受一个或多个参数作为预设,并接受剩余的参数。