정의
여러개의 인자를 받는 함수가 있을 때 하나의 인자를 고정한 함수를 만드는 기법이다.
예시
function helloFunc(word, name) {
console.log(`${word}, ${name}`);
}
위의 식에 커링을 적용시켜보자
function helloFunc(word) {
return function (name) {
console.log(`${word}, ${name}`);
};
}
const printHello = helloFunc("안녕");
printHello("짱구야"); // 안녕, 짱구야
printHello("짱아야"); // 안녕, 짱아야
이처럼 일부 인자에 같은 값을 반복적으로 사용할 때 반복되는 인자를 고정시켜 중복을 최소화하기 좋은 기법이다.
** 커링을 사용할 때에는 인자의 순서가 중요하다. 상단에 위치한 인자부터 고정하기 때문에 반복적으로 사용하는 빈도가 높은 값일수록 상단에 배치하고, 사용하는 빈도가 낮은 값일수록 하단에 배치해야 한다. 또한 변동 가능성이 적은 인자는 앞에, 변동 가능성이 높은 인자는 뒤에 배치해야 한다.