본문 바로가기

JavaScript

IIFE - 즉시 호출 함수 표현식

반응형

IIFE : 즉시 호출 함수 표현식 (Immediately Invoked Function Expressions)

단어 뜻 그대로 익명 함수를 만들고, 그 함수를 즉시 호출해 사용하는 방식. (*Iffy 라고 발음한다고 한다.)
익명 함수는 참조할 방법이 없기 때문에 다시 호출할 수 없어 IIFE를 활용하면 개발자의 의도와 달리 다른 코드에서 함수가 호출 되어 재사용 되는 것을 방지할 수 있다.
따라서 IIFE는 외부 코드로부터 사용되지 않고, 단 한번 호출되는 함수에 사용하면 좋다.
IIFE 안에서 생성된 변수와 함수의 이름은 전역 Scope와 충돌하지 않아 전역 Scope 오염을 방지하고,
더 나아가 클로저에서 값의 중복 현상을 해결할 방법이 되기도 한다.
함수를 정의하고 바로 사용하기 때문에 사용될지 않될지 모를 불필요한 전역 변수와 함수를 생성하지 않는다.

 

기본적인 형태

(function() {
	alert("IIFE");
}());

(function() {
	alert("IIFE");
})();

// 화살표 함수 (애로우 함수)
(() => alert("IIFE"))();

(() => {
	alert("IIFE")
})();

 

+ 함수 앞에 연산자를 붙여서 사용할 수도 있다. 다만 주로 사용하는 형태는 아니다. 가능하다 정도만 알아두자.

!function() {
	alert("IIFE");
}();

+function() {
	alert("IIFE");
}();

-function() {
	alert("IIFE");
}();

~function() {
	alert("IIFE");
}();

void function() {
	alert("IIFE");
}();
반응형

'JavaScript' 카테고리의 다른 글

[Javascript] ES6 ~ ES11 정리  (0) 2024.07.23