1.커링 (Currying)
함수형 프로그래밍에서 중요한 개념 중 하나로, 다중 인자를 받는 함수를 단일 인자를 받는 함수들의 연속으로 변환하는 기법이다.
// 5개의 인자를 받는 커링 함수
function add(x) {
return function(y) {
return function(z) {
return function(a) {
return function(b) {
return x + y + z + a + b;
};
};
};
};
}
// 커링된 함수 사용 예시
const result = add(1)(2)(3)(4)(5); // 1 + 2 + 3 + 4 + 5
console.log(result); // 15
1-1.부분 적용(Partial Application)
여러 개의 인자를 받는 함수에서 일부 인자를 고정하고, 고정된 값으로 새로운 함수를 만드는 방식이다.
// 두 개의 인자를 받는 함수
function add(x, y) {
return x + y;
}
// 부분 적용 함수
function partialAdd(x) {
return function(y) {
return add(x, y);
};
}
const add5 = partialAdd(5); // x = 5로 고정된 함수
console.log(add5(10)); // 15 (5 + 10)
console.log(partialAdd(3)(4)); // 7 (3 + 4)
'Computer Science > 개발지식' 카테고리의 다른 글
[개발지식] 콜 스택(Call Stack) (1) | 2025.01.05 |
---|---|
[개발지식] 콜백 함수 (Callback Function) (0) | 2025.01.05 |
[개발지식]함수형 프로그래밍 (Functional Programming, FP) (0) | 2025.01.05 |