call(부르다) + back(되돌아오다)
콜백함수 : 다른코드의 인자(매개변수)로 넘겨 주는 함수
콜백함수를 넘겨 받은 함수가 콜백함수를 언제쓸지 알아서 정하니 제어권을 넘겨줬다고 한다.
호출의 제어권
let count = 0;
let cbFunc = function(){
console.log(count);
if(++count>4) {
clearInterval(timer);
}
}
let timer = setInterval(cbFunc,300);
setInterval에게 인자로 cbFunc를 전달해 주었다. (그러니까 cbFunc는 콜백함수)

cbFunc를 직접 호출 하지 않고 setInterval이 cbFunc를 호출 시켜줬다.
인자 제어권
// let arr = [1,2,3,4,5].map(function(value,index){ return value + 5}); // 아래와 같은 뜻
let arr = [1,2,3,4,5].map((value,index) => value + 5);
console.log(arr);

value, index의 순서는 map 함수에 이미 정해져 있다.
콜백함수로 넘기는 인자도 map의 형식에 맞춰 넘겨야 실행에 문제가 없다.
콜백함수도 함수로 넘기기 때문에 메서드(객체한테서 실행되어야하는 function)가 아니면 this는 전역(global)을 바라 볼 것이다.
this 바인딩 부터 쓸차례
'Language > javascript' 카테고리의 다른 글
| [JavaScript] this, call, apply, bind (1) | 2023.10.17 |
|---|---|
| [JavaScript] 실행 컨텍스트 Execution Context (1) | 2023.10.16 |
| [JavaScript] 호이스팅 hoisting (0) | 2023.10.16 |
| [JavaScript] 얕은 복사(shallow copy)와 깊은 복사(deep copy) (0) | 2023.10.16 |
| [JavaScript] 데이터 타입 기본형과 참조형 (0) | 2023.10.15 |