- 什么是函数柯里化?
函数柯里化(Currying)是一种将一个多参数函数转换成一系列接受单个参数的函数的技术。这一过程允许我们通过多次调用同一个函数,每次传递一部分参数,最终得到完整的参数列表并计算出结果。
在函数柯里化过程中,原始函数在接收到第一个参数后并不立即执行,而是返回一个新的函数,新函数记住已传递的参数,并等待接收剩下的参数。当所有必需的参数都被收集到后,才会执行原函数的主体逻辑。
例如,考虑一个简单的加法函数 add(x, y),通过柯里化可以将其转换为:
function curryAdd(x) {
return function (y) {
return x + y;
};
}
// 使用柯里化后的函数
const addFive = curryAdd(5);
console.log(addFive(3)); // 输出 8
在这个例子中,curryAdd 接受一个参数 x 并返回一个新的函数,这个新函数仅接受一个参数 y,当 y 被传入时,实际的加法运算得以完成。因此,curryAdd(5) 返回一个等待 y 参数的函数,当我们调用 addFive(3) 时,得到了预期的结果 8。