-Currying
: 인자가 여러개인 함수의 일부 인자를 고정시키는 새로운 함수를 만드는 기법
(1)
function helloFunc(word, name) {
console.log(`${word}, ${name}`);
}
(2)
function helloFunc(word) {
return function (name) {
console.log(`${word}, ${name}`);
};
}
const printHello = helloFunc("hello");
printHello("Tibetan Fox"); // hello, Tibetan Fox
printHello("Tiger"); // hello, Tiger
아까의 함수에 커링을 적용하면 이렇게 된다!
n(2)개의 인자를 받던 함수가 n(2)개로 쪼개진 것을 볼 수 있다.
또한 첫 번째로 받던 인자인 word를 hello라는 값으로 고정하고 name만 변경하면서 사용 가능한 것 또한 볼 수 있다.
즉 커링 기법은 일부 인자에 같은 값을 반복적으로 사용할 때 그 반복되는 인자를 고정함으로써 중복을 최소화 하기에 적합한 기법이다!!.