콜백함수 call back function ⭐️ ⭐️ ⭐️
일급객체 fist-class function
고차함수 higher-order function, HOF
const add = (a, b) => a + b;
const multiply = (a, b) => a * b;
// 전달된 action은 콜백함수다.
// 전달될 당시에 함수를 바로 호출해서 반환된 값을 전달하는 것이 아니라
// 함수를 가리키고 있는 함수의 레퍼런스(참조값)가 전달되는 것이다.
// 그래서 함수는 고차함수 안에서 필요한 순간에 호출이 나중에 된다.
function calculator(a, b, action) => {
let result = action(a, b);
console.log(result);
return result;
}
calculator(1, 2, add); // 3
calculator(1, 2, multiply); // 2
function calculator(a, b, action) => {
// 조건문을 통해서 콜백함수를 제어할 수 있다
if (a < 0 | b < 0) {
return;
}
let result = action(a, b);
console.log(result);
return result;
}