Developer/Javascript

콜백 함수 쉽게 이해하기

jaddong 2021. 9. 23. 16:33
320x100
함수의 인수로 함수를 전달하고, 이 인수로 전달한 함수를 "나중에 호출(called back)" 하는 것

말로 풀면 이해가 안 될 수 있으니, 예시를 보도록 하자.

function quest(question, yes, no) {
  if (confirm(question)) yes()	동의
  else no();	//미동의
}

function showAgree() {
  alert( "동의하셨습니다." );
}

function showDisagree() {
  alert( "미동의 버튼을 누르셨습니다." );
}

// 사용법: 함수 showOk와 showCancel가 ask 함수의 인수로 전달됨
quest("동의하십니까?", showAgree, showDisagree);

함수 quest의 인수로, 함수 showAgree와 함수 showDisagree는 콜백함수 또는 콜백이라고 한다.

 

 

함수를 익명 함수로 표현하면 아래와 같이도 표현할 수 있다.

function quest(question, yes, no) {
  if (confirm(question)) yes()	동의
  else no();	//미동의
}

// 익명함수(변수에 할당되지 않았기 때문에) quest 바깥에서 접근할 수 없다.
quest(
	"동의하십니까?",
    function {alert( "동의하셨습니다." );},
    function {alert( "미동의 버튼을 누르셨습니다." );}
);
반응형