Currying

Park Bumsoo·2022년 4월 17일
0

커링(Currying) 기법은 인자가 여러개인 함수의 일부 인자를 고정시키는 새로운 함수를 만드는 방법을 의미한다. 즉 인자가 n개인 함수를 n개로 분리하여 사용하게끔 만드는 방법이다.
주로 HOC(Higher-Order Function) 와 함께 사용된다.

간단한 예제를 살펴보면

function helloFunc(writer, title) {
    console.log(${writer}, ${title});
}

word와 name이라는 두 개의 인자를 받아서 출력해주는 단순한 형태의 함수가 있다.

위 함수에 HOC를 포함한 커링을 적용시키게 되면

function exampleFunc(writer) {
    return function (title) {
        console.log(`${writer}, ${title}`);
    };
}

const newExampleFunc = exampleFunc(writer); 
newExampleFunc("newTitle");        // writer, newTitle
newExampleFunc("newTitle2");       // writer, newTitle2

위 처럼 나뉘게 된다는 소리이다.

사용법에따라 함수에서 응용할 수 있는 범위가 매우 넓은 기법이며
적용할 때는 인자의 순서가 매우 중요하고, 변동 가능성이 적은 인자는 앞에, 변동 가능성이 높은 인자는 뒤에 배치해야 한다.

profile
프론트엔드 주니어 개발자(React, Next.js)

0개의 댓글