●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

JavaScriptのコールバック関数とは?仕組みと使い方をやさしく解説

JavaScriptを学んでいると、「コールバック関数」という言葉をよく目にするようになります。
最初は難しく感じるかもしれませんが、実はとてもシンプルで、JavaScriptの非同期処理や柔軟なプログラムに欠かせない重要な仕組みです。

この記事では、コールバック関数の意味と使い方を、初心者にもわかりやすく解説します。

コールバック関数とは?

コールバック関数とは、「別の関数に引数として渡される関数」のことです。
ある処理が終わった後に実行してほしい関数を、あらかじめ渡しておくことで、順番に処理を実行できます。

基本的な例

function greet(name, callback) {
  console.log("こんにちは、" + name);
  callback();
}

function afterGreet() {
  console.log("ご挨拶が完了しました。");
}

greet("Taro", afterGreet);

この例では、afterGreet 関数がコールバック関数として greet 関数に渡されています。

コールバック関数の使い道

主な使い道は次の通りです。

  • 処理の順番を制御したいとき
  • 非同期処理(タイマー、読み込みなど)の後に実行する処理を指定したいとき
  • 共通の処理ロジックを複数の場所で使い回したいとき

非同期処理でのコールバック例

setTimeout(function() {
  console.log("3秒後に実行されました");
}, 3000);

setTimeout の第1引数はコールバック関数です。3秒後にこの関数が呼び出されます。

無名関数(匿名関数)を使ったコールバック

コールバック関数は、その場で定義する「無名関数(匿名関数)」として書くこともできます。

greet("Hanako", function() {
  console.log("Hanakoさんへの挨拶が終わりました。");
});

このようにすれば、1回限りの処理としてその場で関数を定義できます。

配列メソッドとの組み合わせ

forEachmap などの配列メソッドでも、コールバック関数が使われます。

const numbers = [1, 2, 3];

numbers.forEach(function(n) {
  console.log(n * 2);
});

配列の各要素に対して処理を行う関数を、コールバックとして渡しています。

注意点:コールバック地獄

コールバックを多用しすぎて、関数が入れ子(ネスト)になりすぎることを「コールバック地獄」と呼びます。

doSomething(function(result) {
  doNext(result, function(nextResult) {
    doAnother(nextResult, function(finalResult) {
      // ...
    });
  });
});

こうした状況を避けるために、Promiseasync/await が登場しました。

まとめ

  • コールバック関数は、他の関数に引数として渡される関数
  • 処理の順序をコントロールするために使われる
  • 非同期処理、配列操作などさまざまな場面で活用される
  • 使いすぎると「コールバック地獄」になることがあるので注意

コールバック関数の仕組みを理解することで、JavaScriptの柔軟な処理制御がより身近になります。
実際に書いてみて、流れをつかんでいきましょう。

 

JavaScript関連用語集

−−−−−  JavaScript  −−−−−

JavaScriptの変数とは?初心者にもわかりやすく解説

JavaScriptの定数(const)とは?使い方と注意点をわかりやすく解説

JavaScriptの関数とは?基本から使い方まで丁寧に解説

JavaScriptの配列とは?基本の使い方から応用まで解説

JavaScriptのオブジェクトとは?基本の使い方から応用まで解説

JavaScriptのプロパティとは?基本から使い方までわかりやすく解説

JavaScriptのメソッドとは?基本と使い方をわかりやすく解説

JavaScriptのスコープとは?基礎からしっかり理解しよう

JavaScriptのクロージャとは?仕組みと使い方をわかりやすく解説

JavaScriptのコールバック関数とは?仕組みと使い方をやさしく解説

JavaScriptの非同期処理とは?基本から使い方までわかりやすく解説

JavaScriptのPromiseとは?非同期処理をわかりやすく管理する方法

JavaScriptのasync / awaitとは?Promiseをもっと簡単に書く方法

JavaScriptのイベントとは?クリックや入力に反応する仕組みを解説

JavaScriptのイベントリスナーとは?イベント処理の基本を解説

JavaScriptのDOMとは?Webページを操作する基本をやさしく解説

JavaScriptのJSONとは?データのやりとりに使われる基本形式を解説

JavaScriptのデータ型とは?基本の種類と使い方をわかりやすく解説

JavaScriptの型変換とは?自動変換と明示的変換の仕組みを解説

JavaScriptのnullとは?「何もない」を明示する特別な値

JavaScriptのundefinedとは?「未定義」を表す特別な値を理解しよう

JavaScriptのNaNとは?数値にならないことを示す特別な値を解説

JavaScriptのループとは?繰り返し処理の基本と使い方を解説

JavaScriptのif文とは?条件に応じた処理の書き方を解説

JavaScriptのswitch文とは?複数の条件分岐をすっきり書く方法

JavaScriptのクラスとは?オブジェクト指向の基本構文を解説

JavaScriptの継承とは?クラスの機能を引き継ぐ仕組みを解説

JavaScriptのモジュールとは?ファイル分割と再利用を可能にする仕組みを解説

JavaScriptの即時関数(IIFE)とは?その仕組みと使いどころを解説

JavaScriptのグローバル汚染を防ぐ方法とは?安全なスクリプト管理の基本