什么是柯里化
- 柯里化就是把一个多参数的函数转换为一系列只带单个参数的函数
未柯里化前的函数
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