[코드캠프 5주차]React Currting

[커링(currting)]

커링(Currying) 기법은 인자가 여러개인 함수의 일부 인자를 고정시키는 새로운 함수를 만드는 기법이다.

간단한 설명을 위해서 아래의 코드를 예시로 들자면

function helloFunc(word, name) {
    console.log(`${word}, ${name}`);
}

간단하게 단어와 이름을 파라미터로 받아서 콘솔로 찍어주는 함수가 있다.
이 함수에서 커링의 개념을 접목시켜 본다면

function helloFunc(word) {
    return function (name) {
        console.log(`${word}, ${name}`);
    };
}

const printHello = helloFunc("hello"); 
printHello("Tibetan Fox"); // hello, Tibetan Fox
printHello("Tiger");       // hello, Tiger

아래와 같이 될것 이다. 즉 helloFunc 에서 하나의 hello 라는 인자값만 받고 변수에 함수를 할당 하고, 함수 실행될때 리턴하는 익명 함수에다가 파라미터를 또 넘겨주는 것이다.
그렇게 된다면 hello 는 계속 해서 파라미터 값이 고정이 될것이고, 그 안에 있는 파라미터만 값으로 지속적으로 변경 되게 될것이다.

즉 커링 기법은 일부 인자에 같은 값을 반복적으로 사용할 때 그 반복되는 인자를 고정함으로써 중복을 최소화 하기에 적합한 기법이다.

좋은 웹페이지 즐겨찾기