aboutsummaryrefslogtreecommitdiff
path: root/files/ko/glossary/iife
diff options
context:
space:
mode:
Diffstat (limited to 'files/ko/glossary/iife')
-rw-r--r--files/ko/glossary/iife/index.html59
1 files changed, 59 insertions, 0 deletions
diff --git a/files/ko/glossary/iife/index.html b/files/ko/glossary/iife/index.html
new file mode 100644
index 0000000000..c9ccc8be4b
--- /dev/null
+++ b/files/ko/glossary/iife/index.html
@@ -0,0 +1,59 @@
+---
+title: IIFE
+slug: Glossary/IIFE
+tags:
+ - 디자인패턴
+ - 자바스크립트
+ - 즉시실행함수
+translation_of: Glossary/IIFE
+---
+<p><strong>즉시 실행 함수 표현(IIFE, Immediately Invoked Function Expression)</strong>은 정의되자마자 즉시 실행되는 {{glossary("Javascript")}} {{glossary("Function")}} 를 말한다.</p>
+
+<pre class="brush: js">(function () {
+ statements
+})();</pre>
+
+<p>이는 {{glossary("Self-Executing Anonymous Function")}} 으로 알려진 디자인 패턴이고 크게 두 부분으로 구성된다. 첫 번째는 괄호(<code>()</code>, Grouping Operator)로 둘러싸인 익명함수(Anonymous Function)이다. 이는 전역 스코프에 불필요한 변수를 추가해서 오염시키는 것을 방지할 수 있을 뿐 아니라 IIFE 내부안으로 다른 변수들이 접근하는 것을 막을 수 있는 방법이다.</p>
+
+<p>두 번째 부분은 즉시 실행 함수를 생성하는 괄호<code>()</code>이다. 이를 통해 자바스크립트 엔진은 함수를 즉시 해석해서 실행한다.</p>
+
+<h2 id="예제">예제</h2>
+
+<p>아래 함수는 즉시 실행되는 함수 표현이다. 표현 내부의 변수는 외부로부터의 접근이 불가능하다.</p>
+
+<pre class="brush: js">(function () {
+ var aName = "Barry";
+})();
+// IIFE 내부에서 정의된 변수는 외부 범위에서 접근이 불가능하다.
+aName // throws "Uncaught ReferenceError: aName is not defined"
+</pre>
+
+<p>IIFE를 변수에 할당하면 IIFE 자체는 저장되지 않고, 함수가 실행된 결과만 저장된다.</p>
+
+<pre class="brush: js">var result = (function () {
+ var name = "Barry";
+ return name;
+})();
+// 즉시 결과를 생성한다.
+result; // "Barry"</pre>
+
+<section class="Quick_links" id="Quick_Links">
+<ol>
+ <li>더 알아보기
+ <ol>
+ <li><a href="/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript#Functions">예제</a>("Function" 섹션의 끝, "Custom objects"의 오른쪽 부분)</li>
+ </ol>
+ </li>
+ <li>Wikipedia 문서
+ <ol>
+ <li>{{interwiki("wikipedia", "Immediately-invoked function expression", "IIFE")}}</li>
+ </ol>
+ </li>
+ <li><a href="/ko/docs/Glossary">용어</a>
+ <ol>
+ <li>{{Glossary("Function")}}</li>
+ <li>{{Glossary("Self-Executing Anonymous Function")}}</li>
+ </ol>
+ </li>
+</ol>
+</section>