コールバック関数はわかりにくなぁ。
こういうときは、なにか、わかりやすい例えと比較すると良いと思う。
かつて転送電話というのを使っていまして。体験したことのある例えがグッと来ると思うわけ。
転送電話の図式は、次のとおり。
で、これをもとに、コールバック関数を書いてみようと思う。
function WhoToTensoDenwa (callback){
console.log(‘だれかから’)
callback();
}
上記の関数宣言では、うまくいかず。関数式にする必要あり。
var WhoToTensoDenwa = function (callback){
console.log(‘だれかから’)
callback();
}
*この際のcallback、callback()は、random、random()など、なんでもよろしい。
で、コールバック関数は、こちら。
function TensoDenwaToMe(){
console.log(‘おれに電話‘);
}
var TensoDenwaToMe = function(){
console.log(‘おれに電話‘);
}
コールバック関数を引数に入れてみる。
WhoToTensoDenwa(TensoDenwaToMe)
>だれかから
>おれに電話
ま、こんなかんじ。
◎JavaScriptは、関数を根として扱うことが出来る。コールバック関数は値として扱われ、高階関数(WhoToTensoDenwa)の引数に入れることが出来る。
◎参考
https://sbfl.net/blog/2019/02/08/javascript-callback-func/