커링

Y·2020년 9월 4일
0

자바스크립트

목록 보기
15/20

커링


커링은 함수와 함께 사용할 수 있는 고급기술이다.
단일 호출로 처리할 함수를 각각의 인수가 호출 가능한 프로세스로 호출하고 병합하는 과정이다. 주로 , 어떤 함수를 호출할 때 대부분의 매개 변수가 항상 비슷하다면 커링을 사용할 만한 후보라고 할 수 있다.

매개변수 일부를 적용하여 새로운 함수를 동적으로 생성하면 이 동적 생성된 함수는 반복적으로 사용되는 매개변수를 내부적으로 저장하여, 매번 인자를 전달하지 않아도 원본함수가 기대하는 기능을 동작하게 할 수 있다.

function curry1(func) {
  return function(arg1) {
    return function (arg2) {
      return func(arg1,arg2);
    }
  }
};

function curry2(func) {
  return function(arg2) {
    return function (arg1) {
      return func(arg1,arg2);
    }
  }
};


function div(a,b) {
  return a/b ;
}

let curriedSum1 = curry1(div);
let curriedSum2 = curry2(div);

console.log(curriedSum1(1)(2));
console.log(curriedSum2(1)(2));

커리의 방향 또한 정할 수 있다.

profile
연세대학교 산업공학과 웹개발 JavaScript

0개의 댓글