add(2, 3)와 add(2)(3)값이 모두 5가 나올 수 있는 함수를 만드는 방법이다.
고차함수를 이용하면 이 문제를 해결할 수 있다.
1
2
3
4
5
6
7
8
9
10
function add(a) {
return function (b) {
return a + b;
};
}
또는;
const add = (a) => (b) => a + b;
add(2)(3); // 5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function add(a, b) {
const isB = function (b) {
return a + b;
};
if (typeof b == 'undefined') {
return isB;
} else {
return isB(b);
}
}
// console.log(add(2, 5));
console.log(add(2)(5));
참고: