본문 바로가기

웹/JavaScript

[JS] 9. 기초 문법: 콜백 함수 개념

콜백 함수: 다른 함수의 매개 변수로 넘겨준 함수.
콜백함수를 일단 넘겨받고, 때가 되면 나중에 호출(called back)한다.

 

 

콜백 함수를 이용하면 여러가지 유연한 동작들을 할 수 있는 함수를 만들 수 있습니다. 

 

[예시 코드]

/* 기분에 따라 다른 동작을 하는 함수 */

function checkMood(mood, goodCallback, badCallback) {
  if (mood == "good") {
    goodCallback();
  } else {
    badCallback();
  }
}

function cry() {
  console.log("엉엉 웁니다.");
}
function sing() {
  console.log("즐겁게 노래를 부릅니다.");
}
function dance() {
  console.log("신나게 춤을 춥니다.");
}

checkMood("sad", sing, cry);

↳ '엉엉 웁니다.'가 출력됩니다. 

 

 

checkMood 함수를 호출할 때 매개변수로 mood에 기분에 대한 문자열을 전달하고, 콜백함수인 goodCallBack과 badCallBack에 각각 sing과 cry 함수를 전달합니다. 

 

checkMood 함수가 먼저 호출되고, 매개변수인 mood의 값에 따라 sing과 cry 함수 둘 중 하나가 나중에 호출됩니다. 

 

위 코드는 mood가 "good"이 아니기 때문에 badCallBack에 해당하는 함수가 호출되어 cry 함수가 실행됩니다.