コールバック関数は、他の関数の引数として渡される関数です。
この関数は、ある処理が終了した時点で「呼び出されます」。
コールバック関数の例
function doSomething(callback) {
// 何かの処理をします (例: データを取得)
const data = "Hello from doSomething!";
// 処理が完了したら、コールバック関数を呼び出します
callback(data);
}
doSomething(function(result) {
console.log(result); // "Hello from doSomething!"
});
上の例では、doSomething関数
にコールバック関数として無名関数を渡しています。
doSomething関数
は処理を終了した後、そのコールバック関数を呼び出しています。
コールバック関数の引数名
function doSomething(callback) {
// ...
callback(data);
}
ここでのcallbackは、ただの引数の名前です。
名前としてaaa
やfunc
やhandler
など、他の任意の名前を使用することもできます。
しかし、この関数がコールバックを受け取る関数であることを示すために、多くの開発者はcallback
という名前を選びます。
もしaaa
に変更した場合、関数内のcallback(data);
もaaa(data);
と変更する必要があります。
doSomething関数の呼び出しについて
doSomething(function(result) {
console.log(result); // "Hello from doSomething!"
});
この記述では、doSomething関数
を呼び出しています。
そして、doSomething関数
の引数として無名関数(またはラムダ関数、またはアロー関数の特定の形式)を渡しています。
function(result) { ... }
は関数です。これは、doSomething関数
の中でコールバックとして使用される関数を定義しています。
この関数は、doSomething
の中のcallback(data);
によって、dataとして"Hello from doSomething!"
が渡されることで呼び出されます。
要するに、doSomething(function(result) { ... });
の形式での記述は、「doSomething関数を呼び出し、この関数が完了したら、この無名関数を実行してください」という意味になります。
この無名関数は、コールバック関数としての役割を果たします。
doSomething関数の呼び出しの無名関数の引数名
doSomething(function(aaa) {
console.log(aaa); // "Hello from doSomething!"
});
上記のコードでも問題ありません。
ここでのaaa
は、コールバック関数の引数の名前として定義されているだけなので、何を使っても構いません。
このコードでは、doSomething
関数から返されるdata
の値("Hello from doSomething!"
)がaaa
という引数に渡され、その結果がコンソールに出力されます。
名前の選択は、コードの可読性や意図を伝えるためのものなので、意味のある名前や一般的に理解しやすい名前を選ぶとよいです。
しかし、実際の動作には名前自体は影響しません。