[javascript] IIFE
IIFE
IIFE(Immediately Invoked Function Expression, 즉시 호출하는 함수 표현식) 는 함수를 선언하고 즉시 실행한다. IIFE는 다음과 같은 형태를 취힌다.
(function () {
// IIFE 바디
})();
IIFE는 익명함수를 ()
로 감싸는데 그 이유는 function() {}
과 같이 작성되면 자바스크립트 코드를 해석하는 parser는 이것을 함수 선언문으로 인지하기 때문이다. 따라서 ()
와 같이 괄호로 묶어주어 함수 선언문이 아닌 함수 표현식이라는 것을 명시적으로 나타내야 한다.
IIFE의 장점은 내부에 있는것들이 모두 자신만의 스코프를 가지지만, IIFE 자체는 함수이므로 그 스코프 밖으로 무언가를 내보낼 수 있다는 것이다.