Skip to content

Javascript Immediately Invoked Function Expression (즉시 실행 함수)

작성일: at 오전 02:16

IIFE는 즉시 실행 함수라고도 부르며, 주로 익명 함수와 함께 사용하여 Global Scope에 영향을 주지 않으면서 (변수를 노출시키지 않으면서) 코드를 실행하고자 할 때 사용한다.

아래는 IIFE를 사용하면서 발생한 간단한 오류에 대한 설명이다.

const printHello = function () {
        console.log('hello')
} /* 여기에 세미콜론이 필요! */
        
(() => {
    console.log('IIFE (Immediately Invoked Function Expression)')
})()

위 코드는 첫 번째 함수 선언 뒤에 세미콜론이 누락되어 오류가 발생한다.

const printHello = function (msg) {
        console.log(msg)
}('hello')

함수 선언 뒤에 소괄호를 붙이면 함수를 호출한다.

const printHello = function () {
        console.log('hello')
}(() => {
    console.log('IIFE (Immediately Invoked Function Expression)')
})()

따라서 세미콜론으로 문장의 끝을 표시하지 않으면 의도치 않게 printHello 함수가 실행되어 오류가 발생할 수 있다.