리덕스 미들웨어를 직접 만들어보는 예제를 공부하던 도중, 사용해보지 않았던 문법을 만나게 되어 정리한다.
const middleware = store => next => action => {
// 하고 싶은 작업...
}
커리 함수는 함수를 매개 변수로 받는다.
실행 시점에 매개 변수로 받은 함수의 인자를 사용하는 함수를 다시 반환한다.
반환된 함수는 클로저에 의해 전달된 함수를 기억한다.
간단한 두 수의 합을 구하는 함수가 있다고 가정한다.
function sum(a, b) {
return a + b;
}
function currying(func) {
return function(a) {
return function(b) {
return func(a, b);
}
}
}
function(a) {
return function(b) {
return func(a, b);
}
}
function(b) {
return func(a, b);
}
const curry = currying(sum)(10)(20);
// 30
const currying = func => a => b => func(a,b);