📍 함수
변수에 할달 할 수있다.
다른 함수의 인자로 전달 될 수 있다.
다른 함수의 결과로서 리턴 될 수 있다.
📍 고차함수
함수를 인자로 받거나 함수를 리턴하는 함수를 말한다.
📍 콜백함수
다른함수의 인자로 전달되는 함수 이다.
📌 다른 함수를 인자로 받는 경우
function double(num){//콜백함수
return num * 2;
}
function doubleNum(func, num){ //고차함수
let doubledArr = [];
return func(num);
}
doubleNum(double,4); // 함수 호출
📌 함수를 리턴하는 경우
function adder(added) { //고차함수 (익명의 함수를 사용중)
return function (num) {//익명의 함수
return num + added ;
};
}
adder(5)(3); // 8
const add3 = adder(3);
add3(2) // 5
📌 함수를 인자로 받고 함수를 리턴하는 경우
function double(num) { //콜백함수
return num * 2;
}
function doubleAdder(added, func) { //고참함수
const doubled = func(added);
return function (num) {
return num + doubled;
};
}
doubleAdder(5, double)(3); //13