●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

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

JavaScriptで関数を定義してすぐに実行したい場合に使われるのが、即時関数(IIFE)です。
IIFEはスコープを分けて変数の衝突を避けたり、一時的な処理を行いたいときに便利なテクニックです。

この記事では、IIFEの基本構文や使い方、使用例についてわかりやすく解説します。

即時関数(IIFE)とは?

IIFE(Immediately Invoked Function Expression)とは、定義してすぐに実行される関数のことです。
関数式をカッコ () で囲み、その後に () をつけて呼び出します。

基本構文

(function() {
  // ここに実行したい処理を書く
})();

この構文によって、関数が即座に実行され、外部とは切り離された「独立したスコープ」が作られます。

アロー関数でも書けます

(() => {
  console.log("IIFEアロー関数");
})();

より簡潔に書きたい場合はアロー関数を使うこともできます。

引数を渡すことも可能

(function(name) {
  console.log("こんにちは、" + name);
})("太郎");

このように、IIFEには引数を渡して処理することもできます。

IIFEの主な用途

  • ローカルスコープを作って変数の衝突を防ぐ
  • 一時的な初期化処理をまとめて行う
  • 関数や値をグローバルに漏らさない

例:変数の衝突を防ぐ

var message = "グローバル";

(function() {
  var message = "ローカル";
  console.log(message); // ローカル
})();

console.log(message); // グローバル

IIFEの中で定義したmessageは、外部の変数とは無関係です。

モジュール的な使い方

モジュール機能がなかった時代には、IIFEを使って変数の隠蔽やデータのカプセル化を行っていました。

const Counter = (function() {
  let count = 0;

  return {
    increment: function() {
      count++;
      console.log(count);
    }
  };
})();

Counter.increment(); // 1
Counter.increment(); // 2

count という変数は外部から直接アクセスできませんが、increment()を通じて操作できます。

現在の使いどころ

モジュール構文(import/export)の登場により、IIFEの使用頻度は減りましたが、一時的なスクリプトのスコープ分離には今でも有効です。

まとめ

  • IIFEは定義してすぐに実行される関数
  • () で関数式を囲み、さらに () をつけて即時実行
  • スコープを分けて変数の衝突を避けられる
  • 引数も渡せるし、戻り値を受け取ることもできる
  • モジュールのような使い方もできる

IIFEは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のグローバル汚染を防ぐ方法とは?安全なスクリプト管理の基本