-함수를 인자(argument)를 받거나 함수를 리턴하는 함수
functioin double(num) { // doubleNum의 callback함수
return num * 2;
}
function doubleNum(func, num) { //고차함수(다른 함수를 인자로 받는다)
let doubleArr = [];
return func(num);
}
let output = doubleNum(double, 4);
console.log(output);
function adder(added) { //고차함수(of function), added란 인자1개 입력받으면 익명함수를 리턴한다
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 funtion (num) {
return num + doubled;
};
}
doubleAdder(5, double)(3); // -> 13
const addTwice3 = doubleAdder(3, double);
addTwice3(2); // --> 8
-다른함수에 리턴함수로 불려지는 함수