👋

コールバック関数って?

2023/03/14に公開

コールバック関数の説明の前に、、

JavaScriptで非同期処理を行うのは
1.コールバック関数
2. Promise
3. async/await
の三つがある。本質的には一緒で見た目、書き方が違うだけ。

コールバック関数って?

コールバック関数とは!?

関数の引数に渡された関数をコールバック関数という

日本語では呼び戻し
関数は呼び出す側と呼び出す側がいて、関数を呼び出す側が逆に呼び出す側に回る関数をCallBack(呼び戻し)。もし処理が終わったらやってほしいのがコールバック関数。

構文

function 高階関数(コールバック関数) {
 コールバック関数();
 }

超簡単に言うと関数の中に関数を実行している。

//家に帰ったら手を洗ってゲームしたり、料理したりする
//高階関数を使わない場合の処理
function play(game) {
 if (/*手を洗ったら*/) {
  //gameする処理
 }
 function cook(food){
 if (/*手を洗ったら*/) {
  //cookする処理
 }
 
//高階関数を使った処理
function washed(fn){
 if (/*手を洗ったら*/) {
  fn();//コールバック関数処理
 }
}
function play(game) [
//ゲームする処理
}
function cook(food)[
//料理する処理
}
//手を洗った状態を保証した状態で、ゲームできる
washed(play);

高階関数を使うことで、、

  1. 関数が増えていった場合の記述量が減る
  2. コードの見通しが良くなり、役割が明確になる
  3. 後々、処理が変わったり変更したりする場所が一か所で済む

Discussion