13.6.3 함수를 반환하는 함수

패턴이 조금 복잡한 편

자바스크립트 웹 개발 프레임워크로 널리 쓰이는 익스프레스(Express)나 Koa 같은 미들웨어 패키지는 함수를 반환하는 함수 형태로 만들어짐

커링 : 매개변수 여러 개를 받는 함수를 매개변수 하나만 받는 함수로 바꾸는 것

<예제>

function sumOfSquared(arr) {
    return sum(arr, x => x*x);
}

function newSummer(f) {
    return arr => sum(arr, f);
}

const sumOfSquared = newSummer(x => x*x);
const sumOfCubes = newSummer(x => Math.pow(x, 3));

sumOfSquared([1, 2, 3]); // returns 14
sumOfCubes([1, 2, 3]); // return 36

Last updated