고차 함수, 콜백함수
Jun 3, 2021
»
고차 함수, 콜백함수
고차함수(higher order function)
이란 함수를 인자로 받을 수 있고 함수의 형태로 리턴할 수 있는 함수입니다
이때 다른 함수의 인자로 전달되는 함수를 콜백함수(callback function)
이라고 합니다
다른 함수를 인자로 받는 경우
// 콜백함수로 쓰일 함수
function plus(num) {
return num + 2;
}
// 함수를 파라미터로 받아오는 함수
function plusNum(func, num) {
return func(num);
}
let result = plusNum(plus, 4);
console.log(result); // -> 6
함수를 리턴하는 경우
function adder(added) {
return function(num) {
return num + added;
}
}
let output = adder(5)(3); // -> 8
console.log(output); // -> 8
const add3 = adder(3);
output = add3(2);
console.log(output); // -> 5
함수를 인자로 받고 함수를 리턴하는 경우
function double(num) {
return num * 2;
}
function doubleAdder(added, func) {
const doubled = func(added);
return function(num) {
return num + doubled;
}
}
doubledAdder(5, double)(3); // -> 13
const addTwice3 = doubledAdder(3, double);
addTwice3(2); // -> 8