콜백 함수는 간단하게 다른 함수에 매개변수로 넘겨준 함수를 말한다.
매개변수로 넘겨받은 함수는 일단 넘겨받고, 때가 되면 나중에 호출(called back)한다는 것이 콜백함수의 개념.
function checkOneTwo(check, afun, bfun){
if(check == 1){ afun(); }
else { bfun(); }
}
function afunction(){
console.log("해당 함수는 afunction 입니다");
}
function bfunction(){
console.log("해당 함수는 bfunction 입니다");
}
checkOneTwo(a, afunction, bfunction);
코드설명
checkOneTwo, afunction, bfunction 총 3가지 함수를 선언하고
checkOneTwo 함수를 호출할 때 매개변수로 check에 숫자값을,
그리고 afun, bfun에 각각 afunction, bfunction함수를 전달했다.
여기서 afunction함수와 bfunction함수가 콜백 함수 인 것이다.
checkOneTwo함수가 먼저 호출되고, 매개변수로 들어온 check의 값에 따라
afunction, bfunction함수 둘 중 한 가지가 나중에 호출된다.
콜백함수는 가독성 및 코드 재사용성 면에서도 활용한다.
function add(a, b) {
return a + b;
}
function sayResult(value) {
console.log(value);
}
sayResult(add(3, 4));
위 코드도 콜백함수를 이용하면 아래와 같이 바꿀 수 있다.
function add(a, b, callback) {
callback(a + b);
}
function sayResult(value) {
console.log(value);
}
add(3, 4, sayResult);