JavaScript
[JavaScript] IIFE 즉시 실행 함수 정리
fnow
2022. 3. 8. 12:52
반응형
IIFE (즉시 실행 함수)에 대해 정리해보자.
IIFE란?
IIFE(Immediately Invoked Function Expression)는 '이피'라고 불리며, 즉시 실행 함수를 의미한다.
IIFE 형식
IIFE는 (익명함수)
와 (함수실행)
두 개의 괄호로 나뉜다. 이 함수는 생성된 후 즉시 실행되고 재사용되지 않기 때문에 보통 익명 함수 형태다.
기본 함수
( function() {
...
} )()
화살표 함수
( () => {
...
} )()
IIFE는 함수 선언문이 아니기 때문에 변수에 저장하면, 함수가 저장되는 게 아니라 결과만 저장된다.
var test = (function () {
var greeting = "hi";
return greeting;
})();
test; // "hi"
IIFE 사용 이유
초기화
초기화는 한 번만 실행하면 되기 때문에 IIFE가 많이 사용된다.
코드 모듈화 하여 내부 변수 보호
익명 함수를 괄호()
로 둘러싸면 자체 scope를 형성해 함수 외부 변수의 접근을 막을 수 있다. 상위 scope로의 접근은 가능하다.
전역 변수 충돌도 방지할 수 있다.
(function () {
var greeting = "hi";
})();
// IIFE 내부에서 정의된 변수는 외부 범위에서 접근 불가
greeting // throws "Uncaught ReferenceError: aName is not defined"
반응형