→ 표면적으로 알고 있는 거 : 함수에 인자로 들어간 함수
이거 이름이 왜 call, back 인지 생각을 못해봤네.
→ 어떤 함수 X를 호출하면서, 특정 조건일 때 함수 Y를 실행해서 나에게 알려달라는 요청을 함께 보내는 것
함수 X의 입장에서는 특정 조건이 만족되었는지 여부를 “스스로” 확인하고, 콜백함수를 “적절한 시점”에 실행할 “제어권”을 갖고있다고 할 수 있다.
const callbackFn = () ⇒ {
console.log(count);
count ++;
if (count > 10) return timer;
}
const timer = setInterval(callbackFn, 300);
setInterval 함수는 callbackFn 를 적절한 시점에 호출합니다.
적절한 시점이란 0.3초에 한 번인 것. 이처럼 언제 이 함수를 호출할 것인지에 대한 주도권을 setInterval 이 가짐
const newArr = [10, 20, 30].map((currentValue, index) => {
console.log(currentValue, index);
return currentValue + 5;
});
// > newArr = [15, 25, 35];
map 이라는 메서드가 넘겨받는 콜백함수에서,
첫번째 인자인 currentValue와 두 번 째 인자인 index, 이 순서는 누가 정함?
map 메서드 내부에서 이미 정해져 있는 interface 잖아~