용어정리

✏ 함수를 인자로 받는 고차함수

const add = (a, b) => a + b;
const multiply = (a, b) => a * b;

function calculator(a, b, action){
	let result = action(a, b);
	console.log(result);
	return result;
}

calculator(1, 2, add); // 3
calculator(10, 20, multiply); // 200

🚩 함수의 외부로부터 전달받는 함수를 “콜백함수”라고 한다.

🚩 전달받는 당시에 바로 호출하는 것이 아니라 함수의 레퍼런스(참조값)만 전달받고 나중에 함수 안에서 호출한다.

🚩 action은 콜백함수이다.

🚩 콜백함수를 전달할때 함수의 호출( = add( ) )이 아닌 이름만 전달했다.

→ 선언된 함수의 “참조값”만 전달된다.

✏ 콜백함수의 활용

function calculator(a, b, action) {
  if (a < 0 || b < 0) {
    return;
  }
  let result = action(a, b);
  console.log(result);
  return result;
}
calculator(-1, 10, add) // 아무것도 출력되지 않고 함수가 종료된다.

✏ 콜백함수의 활용2

setTimeout((매개변수) => {
	실행할 코드
}, 실행시킬 시간(1초 = 1000));
setTimeout(() => {
	console.log("3초 뒤에 이 함수가 실행됩니다.")
}, 3000);