본문 바로가기

JavaScript/javascript 기초 공부하기

커링 함수 currying function

 

Currying은 여러 개의 인자를 가진 함수를 호출 할 경우, 파라미터의 수보다 적은 수의 파라미터를 인자로 받으면 누락된 파라미터를 인자로 받는 기법을 말한다. 즉 커링은 함수 하나가 n개의 인자를 받는 과정을 n개의 함수로 각각의 인자를 받도록 하는 것이다.

 

커링함수 구현에 대해 생각해보았다.

 

1. 먼저 기초 구현 메소드를 작성한다  (간단한 할인율 계산 함수)

2. 할인율을 바인딩 해둔 cur 함수를 구현한다

3. 실행

//커링함수를 구현해보자
//1. 할인을 구현하는 메소드를 작성하기
//2. 퍼센트를 집어넣고 고정시키는 cur메소드 작성
//3. 실행
const getDiscount = (price, rate) => price * rate;

const getTenpercentOff = 0.1;

const cur = (price) => getDiscount(price, getTenpercentOff);

console.log(cur(5000)); // 500 출력

 

 

단축 예제

const getTenpercentOff = 0.1;

const dis = (rate) => (price) => price * rate;

console.log(dis(getTenpercentOff)(5000)); //500 출력

babel 변환