본문 바로가기

Javascript/Javascript

[Javascript] 즉시 실행 함수 표현(IIFE)

728x90
반응형

 

 

IIFE 정의 되자마자 즉시 실행되는 자바스크립트 함수를 말한다.

선언 형식은 괄호 안에 익명함수를 작성한다.

 

이렇게 선언한 함수는 전역 스코프에 불필요한 변수를 추가하여 오염하는 것을 방지할 있고 다른 변수들이 접근하는 것을 막을 있다.

선언부 자바스크립트 엔진은 마지막의 () 통해 해당 함수를 즉시 해석하여 실행한다.

 

예시 소스(외부에서 내부의 변수에 접근하지 못해 에러 발생)

(function () {
    // 외부로부터 접근이 불가능한 변수
    var lang = 'js';
})();

// 오류발생 ReferenceError: lang is not defined
// 내부의 lang을 외부에서 접근할 수 없기 때문에
// console.log(lang);

 

즉시 실행 함수를 변수에 할당하면 함수가 실행된 결과만을 저장한다.

var r = (function () {

    // 외부로부터 접근이 불가능한 변수

    var lang = 'js';

    return lang;

})();

console.log(r);

728x90
반응형