[JavaScript] 즉시 실행 함수(Immediately-invoked function expression)

권용준·2023년 11월 13일
0

📌 정의

즉시 실행 함수(IIFE)는 익명 함수를 정의하고 즉시 호출하는 함수이다. 함수를 정의하면서 동시에 실행할 수 있어서, 함수 내에서 정의한 변수와 함수는 지역 스코프에 속하게 된다. 이는 전역 스코프를 의존하지 않고 변수와 함수를 캡슐화하고 보호하는데 유용하다.

❗️특징

// 즉시 실행 함수(IIFE) 기본구조
(function() {
    // 이 안에 코드를 작성
})();
괄호로 둘러싸인 익명 함수는 즉시 호출되고, 그 내부에 있는 코드가 실행된다. 이를 통해 함수 내부의 변수 및 함수는 외부 스코프로부터 격리되고 즉시 실행 함수는 함수 스코프를 만들어 전역 스코프와 분리하여 변수 이름 충돌을 방지하고 코드의 모듈성을 향상시킬 수 있다.

✍ 예시 코드

(function() {
    var x = 10;
    console.log(x); // 10
})();
console.log(x); // ReferenceError: x is not defined

위 예제에서 즉시 실행 함수(IIFE) 내에서 선언한 변수 x는 즉시 실행 함수(IIFE) 외부에서 접근할 수 없다.

❗️ 즉시 실행 함수(IIFE)는 모듈 패턴과 함께 사용되어 개발자가 모듈을 정의하고 외부에 노출하고 싶은 기능만을 노출하는데도 유용하게 사용된다.
profile
Brendan Eich, Jordan Walke, Evan You, 권용준

0개의 댓글