コールバック関数とは、関数の中で、引数として呼び出される別の関数を指す。
下記の例では、関数displayに引数として呼び出されている関数callbackFunctionをコールバック関数と呼ぶ。
function display(callbackFunction){
const calcResult = callbackFunction(2);
console.log(calcResult);
}
function callbackFunction(number = 3){ //number = 3は、numberの初期値として3を代入するという意味
return number * 2;
}
debugger; //ブレークポイント。実行時ここで一度処理が止まる。dev tool のstep intoなどで次の処理にすすむ。
display(callbackFunction);
この例では、display(callbackFunction);が実行されてからコンソール上に結果が表示されるまでに、次のような処理が行われている。
①引数としてcallbackFunctionを定義した関数displayを定義。
(この時、displayによって呼び出されるcallbackFunctionをコールバック関数と呼ぶ)
②関数callbackFunctionを初期値3の引数numberを指定して定義
③-1display(callbackFunction)によって、display関数に処理が移る
③-2const calcResult = callbackFunction(2)により、callbackFunction関数に引数2が渡される
③-3callbackFunction関数のreturn number * 2により、最終的に数値として4が返される
④display関数内の処理に戻り、const calcResult = callbackFunction(2)に4という数値が格納される
⑤console.log(calcResult);により、コンソールに4が表示される。