ここへジャンプ:

IIFE (Immediately Invoked Function Expression; 即時実行関数式) は定義されるとすぐに実行される JavaScript 関数 です。

Self-Executing Anonymous Function とも呼ばれるこのデザインパターンには主な2つの部分があります。最初は グループ演算子 () に囲まれた静的スコープ付きの無名関数です。これは IIFE イディオム内部の変数が、グローバルスコープの汚染と同様にアクセスされるのを防ぎます。

2つ目の部分は即時実行関数式の () で、これを通じて JavaScript エンジンは直接関数を通訳 ( interpret)します。

この関数は即時実行される関数表現になります。表現内の変数は外部からアクセスできません。

(function () { 
    var aName = "Barry";
})();
// 変数名はスコープ外からアクセスできません
aName // "Uncaught ReferenceError: aName is not defined" を投げます

IIFE を変数に代入することはその結果だけが保存されます。

var result = (function () { 
    var name = "Barry"; 
    return name; 
})(); 
// Immediately creates the output: 
result; // "Barry"

関連項目

これについて学習する

  • Quick example ("Functions" 部分の最後、"Custom objects" の直前)

一般知識

  • Wikipedia の IIFE

ドキュメントのタグと貢献者

 このページの貢献者: Uemmra3
 最終更新者: Uemmra3,