From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- files/ja/glossary/iife/index.html | 67 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 files/ja/glossary/iife/index.html (limited to 'files/ja/glossary/iife/index.html') diff --git a/files/ja/glossary/iife/index.html b/files/ja/glossary/iife/index.html new file mode 100644 index 0000000000..afc9e02e2d --- /dev/null +++ b/files/ja/glossary/iife/index.html @@ -0,0 +1,67 @@ +--- +title: IIFE (即時実行関数式) +slug: Glossary/IIFE +tags: + - CodingScripting + - DesignPattern + - Functions + - Glossary + - JavaScript + - デザインパターン + - 用語集 + - 関数 +translation_of: Glossary/IIFE +--- +

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

+ +
(function () {
+    文
+})();
+ +

このデザインパターンは{{glossary("Self-Executing Anonymous Function", "自己実行無名関数")}}とも呼ばれ、次の2つの主な部分から成ります。

+ +
    +
  1. 最初の部分は {{jsxref("Operators/Grouping", "グループ化演算子")}} () に囲まれた静的スコープ付きの無名関数です。これは IIFE イディオム内で、汚いグローバルスコープと同様に変数へアクセスすることを防ぎます。
  2. +
  3. 2つ目の部分は即時実行関数式の () で、これを通じて JavaScript エンジンは直接関数を解釈実行します。
  4. +
+ +

+ +

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

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

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

+ +
var result = (function () {
+    var name = "Barry";
+    return name;
+})();
+// Immediately creates the output:
+result; // "Barry"
+ + -- cgit v1.2.3-54-g00ecf