aboutsummaryrefslogtreecommitdiff
path: root/files/ja/glossary/iife
diff options
context:
space:
mode:
Diffstat (limited to 'files/ja/glossary/iife')
-rw-r--r--files/ja/glossary/iife/index.html67
1 files changed, 67 insertions, 0 deletions
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
+---
+<p><strong>IIFE</strong> (Immediately Invoked Function Expression; 即時実行関数式) は定義されるとすぐに実行される {{glossary("JavaScript")}} の {{glossary("function", "関数")}} です。</p>
+
+<pre class="brush: js">(function () {
+ 文
+})();</pre>
+
+<p>このデザインパターンは{{glossary("Self-Executing Anonymous Function", "自己実行無名関数")}}とも呼ばれ、次の2つの主な部分から成ります。</p>
+
+<ol>
+ <li>最初の部分は {{jsxref("Operators/Grouping", "グループ化演算子")}} <code>()</code> に囲まれた静的スコープ付きの無名関数です。これは IIFE イディオム内で、汚いグローバルスコープと同様に変数へアクセスすることを防ぎます。</li>
+ <li>2つ目の部分は即時実行関数式の <code>()</code> で、これを通じて JavaScript エンジンは直接関数を解釈実行します。</li>
+</ol>
+
+<h2 id="Examples" name="Examples">例</h2>
+
+<p>この関数は即時実行される関数式になります。関数式内の変数は外部からアクセスできません。</p>
+
+<pre class="brush: js">(function () {
+ var aName = "Barry";
+})();
+// 変数 aName はスコープ外からアクセスできません
+aName // "Uncaught ReferenceError: aName is not defined" が発生します
+</pre>
+
+<p>IIFE を変数に代入することはその結果だけが保存されます。</p>
+
+<pre class="brush: js">var result = (function () {
+ var name = "Barry";
+ return name;
+})();
+// Immediately creates the output:
+result; // "Barry"</pre>
+
+<section class="Quick_links" id="Quick_Links">
+<ol>
+ <li>学習記事
+ <ol>
+ <li><a href="/ja/docs/Web/JavaScript/A_re-introduction_to_JavaScript#Functions">簡単な例</a> (「関数」の節の最後、「カスタムオブジェクト」の直前)</li>
+ </ol>
+ </li>
+ <li>Wikipedia の記事
+ <ol>
+ <li>{{interwiki("wikipedia", "en:Immediately-invoked function expression", "IIFE")}} (英語)</li>
+ </ol>
+ </li>
+ <li><a href="/ja/docs/Glossary">用語集</a>
+ <ol>
+ <li>{{Glossary("Function", "関数")}}</li>
+ <li>{{Glossary("Self-Executing Anonymous Function", "自己実行無名関数")}}</li>
+ </ol>
+ </li>
+</ol>
+</section>