콜백함수 ( callback function )

taehyung·2023년 8월 25일
0

JavaScript

목록 보기
5/15

콜백함수는 개발자가 어떠한 대상에게 함수를 넘겨주는것을 말하는데요, 여기서 넘겨지는 함수는 넘겨받을 대상에게 제어권도 같이 넘기게 됩니다.

"요리사님 제가 드리는 재료로 음식좀 만들어주세요"
위 상황에서 재료=콜백함수 입니다. 이렇게되면 재료를 넘겨받은 요리사는 재료에대해 제어권을 가지게 되는겁니다.

콜백함수의 제어권이란?

  • 함수의 실행 시점
  • 매개변수
  • This

실행시점
setInterval 함수에게 call 함수를 콜백함수로 전달 / 실행시점의 제어권을 넘긴다.

function call(){
	console.log("안녕하세요");
}
setinterval(call,1000);

매개변수
forEach( 콜백함수[, thisArg] ) 에게 콜백을 넘기면 이 콜백함수에 들어올 매개변수의 내용, 순서는 전적으로 forEach에 정의된 방식을 따라야 합니다.

const arr = [1,2,3,4,5]
const entries = [];
function circuit(v, i){
	entries.push([i,v, this[i]]);
}
arr.forEach(circuit,[10,20,30,40,50]);
console.log(entries);

This
디스의 제어권은 이전 포스팅에서 이벤트리스너 파트에서 봤기에 넘어가겠습니다.

결국 콜백함수란 임의에 함수에게 함수를 인자로 넘겨주는 것을 말하는데요, 이렇게 넘어간 콜백함수의 제어권은 넘겨받은 함수에게 정의된 제어권을 그대로 따른다는 것입니다.

또, 요리사로 예를 들어보면

태형 : 요리사님 이 재료들로 토마토소스 파스타 만들어주세요
요리사 : 토마토소스 파스타는 토마토2개, 면50g, 물 450ml 순서로 준비해주세요 ( 매개변수 )
요리사 : 10분뒤에 드릴게요 ( 실행시점 )
요리사 : 재료는 넘겨받는 순간부터 음식이 나가기 전까지는 제것입니다. ( This )

profile
Front End

0개의 댓글

Powered by GraphCDN, the GraphQL CDN