什么是函数柯里化?使用函数柯里化的例子

函数柯里化是一种将一个接受多个参数的函数转换为接受单个参数的函数序列的技术。柯里化后的函数每次只接受一个参数,并返回一个新函数,该函数接受下一个参数,以此类推,直到所有参数都被接受并处理完毕。

下面是一个使用函数柯里化的例子:

function add(x, y) {
  return x + y;
}

function curry(fn) {
  return function curried(...args) {
    if (args.length >= fn.length) {
      return fn.apply(this, args);
    } else {
      return function(...newArgs) {
        return curried.apply(this, args.concat(newArgs));
      }
    }
  };
}

const curriedAdd = curry(add);
console.log(curriedAdd(2)(3)); // 输出:5