- 当一个函数有多个参数的时候先传入一部分参数调用它。(这部分参数永远不变)
- 然后返回一个新的函数接受剩余的参数,返回结果。
// 柯里化的演变
//普通纯函数
const checkAge = (min, age) => {
return min >= age;
}
console.log(checkAge(18, 22));
console.log(checkAge(18, 13));
//柯里化
function checkAge(min) {
return function (age) {
return min >= age;
}
}
//ES6写法
const checkAge = min => (age => age >= min);
const checkAge18 = checkAge(18);
const checkAge20 = checkAge(20);
console.log(checkAge18(22));
console.log(checkAge18(17));
console.log(checkAge18(22));
总结
- 柯里化可以让我们给一个函数传递较少的参数得到一个已经记住了某些固定参数的新函数
- 这是一种对函数参数的'缓存'
- 让函数变的更灵活,让函数的粒度更小
- 可以把多元函数转换成一元函数,可以组合使用函数产生强大的功能
网友评论