밑에 두 함수는 같다
const add = x => y => x + y // currying
const add = function (x) {
return function (y) {
return x + y
}
}
add(2)(6); // 8
function add(a) {
return function(b) {
return a + b;
};
}
const addWith5 = add(5);
console.log(addWith5(3)); // 8
function add(a, b) {
return a + b;
}
console.log(add(5, 3)); // 8
커링 함수는 중간에 **addWith5
**와 같은 중간 함수를 생성할 수 있어서, 이후에 재사용성이 높아진다. 반면, 일반 함수는 모든 인자를 한 번에 처리하고 결과를 바로 반환한다.