커링(currying)

Hunter Joe·2025년 7월 10일

함수형 프로그래밍에 관해 찾다가 알게됐는데 처음보는 구조이기도하고 되게 신기하다.

커링

f(a,b,c)처럼 단일 호출로 처리하는 함수를 f(a)(b)(c)와 같이 각각의 인수가 호출 가능한 프로세스로 호출된 후 병합되도록 변환하는 것
커링은 함수를 호출하지 않는다. 단지 변환할 뿐이다.

예제 코드

  1. f의 두 개의 인수를 커링하는 헬퍼 함수 curry(f)를 생성
function curry(f) { // 커링 변환을 하는 curry(f) 함수
  return function(a) {
    return function(b) {
      return f(a, b);
    };
  };
}

// usage
function sum(a, b) {
  return a + b;
}

let curriedSum = curry(sum);

alert( curriedSum(1)(2) ); // 3
profile
Async FE 취업 준비중.. Await .. (취업완료 대기중) ..

0개의 댓글