JavaScript コールバック関数のサンプル

JavaScriptのコールバック関数のサンプルです。

目次

サンプル コールバック関数
  無名関数を使用する
  無名関数+アロー関数を使用する

コールバック関数

  • 関数が他の関数に引数として渡され、先の関数の中で実行される関数です。
  • 関数の実行タイミングをコントロールできます。
  • 一般的に非同期処理で使用されます。
  • 以下は、MDNのコールバック関数のリンクです。
    https://developer.mozilla.org/ja/docs/Glossary/Callback_function

コールバック関数のサンプルです。

<script>

//コールバック関数
function helloWorld1(num1) {
  console.log("こんにちは" + num1);
}

function test1(callback1) {
  const number1 = 3333;
  callback1(number1);
}

test1(helloWorld1); //こんにちは3333

</script>

4~6行目は、コールバック関数です。
13行目で、8行目の関数test1を実行します。引数として4~6行目の関数helloWorld1をセットしています。
8行目で引数として受け取った関数helloWorld1は、10行目で実行されます。

これは同期処理です。

非同期のコールバック関数が使用される例としては、デバイスの現在位置を取得するgetCurrentPositionメソッドがあります。
https://developer.mozilla.org/ja/docs/Web/API/Geolocation/getCurrentPosition

 

無名関数を使用する

上記コードを無名関数にしたサンプルです。

<script>

//コールバック関数
//function helloWorld1(num1) {
//  console.log("こんにちは" + num1);
//}

function test1(callback1) {
  const number1 = 3333;
  callback1(number1);
}

test1(function(num1){
  console.log("こんにちは" + num1);
}); //こんにちは3333

</script>

4~6行目をコメントにしています。
4行目の引数num1を13行目に持ってきて、
5行目のconsole.logを14行目に持ってきています。
実行結果は同じです。

 

無名関数+アロー関数を使用する

上記コードを無名関数+アロー関数にしたサンプルです。

<script>

//コールバック関数
//function helloWorld1(num1) {
//  console.log("こんにちは" + num1);
//}

function test1(callback1) {
  const number1 = 3333;
  callback1(number1);
}

test1((num1)=>{
  console.log("こんにちは" + num1);
}); //こんにちは3333

</script>

13行目は、上記コードからアロー関数に変更しています。
実行結果は同じです。

関連の記事

JavaScript 関数の種類とサンプル
JavaScript 再帰関数のサンプル
JavaScript 関数のデフォルト引数のサンプル
JavaScript 関数式と無名関数と即時関数
JavaScript クロージャのサンプル
JavaScript 引数/戻り値が関数のサンプル(高階関数)

△上に戻る