학습 공간 개념 · 판단 · 실험

Fanta Lab

질문 33 · 실전 면접 답변

즉시 실행 함수는 무엇이며 언제 유용한가요?

이렇게 답해 보세요 (핵심 답변)

즉시 실행 함수(IIFE, Immediately Invoked Function Expression)는 함수를 표현식으로 정의하자마자 그 자리에서 바로 호출하는 패턴입니다. 과거 var만 있던 시절에는 전역 스코프 오염을 막고 독립된 변수 범위를 만들기 위해 널리 쓰였으며, 현재는 let/const의 블록 스코프와 ES 모듈이 그 역할을 대부분 대체했습니다. 그럼에도 한 번만 실행할 복잡한 초기화 계산을 묶어 결과값만 상수에 할당하거나, 클로저와 결합해 외부에서 접근할 수 없는 비공개 상태를 즉시 만들어 반환할 때 여전히 유용하게 쓰입니다.

함께 설명하면 좋은 이유 (꼬리질문 대비)

  1. function 키워드로 시작하면 엔진이 함수 선언문으로 해석하므로, 괄호로 감싸 함수 표현식 문맥으로 만든 뒤 바로 ()로 호출합니다.
  2. 초기화 과정에서 비동기 작업이 필요할 때 async IIFE를 쓰기도 하는데, 이때 반환되는 Promise의 에러 처리(.catch 등)를 빠뜨리지 않아야 합니다.

면접에서 자주 하는 실수

즉시 실행 함수로 감쌌다고 해서 코드가 비동기로 실행되거나 내부에서 던져진 예외가 자동으로 무시되는 것은 아닙니다.

원리와 예제까지 읽기

공식 참고 자료

질문 목록 출처 ↗ · 원본 33번을 바탕으로 질문과 답변을 새로 정리했습니다.

← JavaScript