커링(Currying)

김수정·2020년 5월 14일
1

js 데이터 다루기

목록 보기
6/6

Currying이란?

함수와 함께 사용하는 고급 기술입니다.
f(a, b, c)처럼 단일 호출로 처리하는 함수를 f(a)(b)(c)와 같이 각각의 인수가 호출 가능한 프로세스로 호출될 수, 병합되도록 변환하는 것입니다. 다항의 인수 중 고정값으로 쓸 것이 있을 때, 함수를 간소화해줄 수 있는 유용함이 있습니다.

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
정리하는 개발자

0개의 댓글