본문 바로가기

Front-End/JavaScript

[JavaScript] 즉시 실행 함수 (IIFE)

즉시 실행 함수 (IIFE)

: 함수를 선언하자마자 바로 호출되는 함수

: 함수에 이름을 붙이는 기명함수로도 사용할 수 있지만, 즉시 실행 함수는 재사용이 불가하기 때문에 익명 함수를 주로 사용한다.

 

익명 즉시 실행 함수
(function () {
    console.log("IIFE");
})();

// 화살표 함수로도 사용 가능하다
(() => {
    console.log("IIFE");
})();

 

기명 즉시 실행 함수
(function square(x) {
    console.log(x*x);
})(2);

(function square(x) {
    console.log(x*x);
}(2));

 

 

즉시 실행 함수 사용 이유

- 불필요한 전역변수의 생성을 줄일 수 있다.

: 기본적으로 함수를 생성하면 해당 함수는 전역변수로 남아있게 되고, 이렇게 많은 변수의 생성은 전역 스코프를 오염시킬 수 있지만, 즉시 실행 함수를 선언하면 전역으로 저장되지 않기 때문에 오염을 줄일 수 있다.

 

 

*참고자료*

https://jongminfire.dev/java-script-%EC%A6%89%EC%8B%9C%EC%8B%A4%ED%96%89%ED%95%A8%EC%88%98-iife