什么是柯里化
- 柯里化就是把一个多参数的函数转换为一系列只带单个参数的函数
未柯里化前的函数
function multiply(a, b, c){
return a * b * c;
}
let res = multiply(1,2,3);
console.log(res); // 6
柯里化后的函数
function multiply(a){
return b => {
return c => {
return a * b * c;
}
}
}
let res = multiply(1)(2)(3);
柯里化过程
- 将
multiply(1,2,3)函数调用转换为multiply(1)(2)(3)调用 - 拆分
multiply(1)(2)(3)便于理解
const multiply1 = multiplytiply(1);
const multiply2 = multiply1(2);
const multiply3 = multiply2(3);
console.log(multiply3); // 6