반응형

 

 

 

 

 

 

즉시 실행 함수는 (IIFE, Immediately Invoked Function Expression)은 정의되자마자 즉시 실행되는 함수이다.

 

(function () {
    // 코드작성
})();

 

즉시 실행 함수는 크게 두 부분으로 나눌 수 있다.

 

첫번째는 괄호( function () { } )로 둘러싸인 익명함수 부분이다. 이는 전역 스코프에 불필요한 변수를 추가해서 오염시키는 것을 방지할 수 있을 뿐 아니라 IIFE 내부에 다른 변수들이 접근하는 것을 막을 수 있는 방법이다.

 

두 번째 부분은 즉시 실행 함수를 생성하는 괄호()이다. 이를 통해 함수를 즉시 해석해서 실행한다.

 

 

 

▶ 문법

기본적인 문법은 다음과 같다.

(function() {
    // 코드작성
}());

(function() {
    // 코드작성
})();

(function funName() {
    // 코드작성
})();

// 인자값 전달
(function(n) {
    for(let i=1; i<=n; i++)
        console.log(n + "번째 로그");
})(5);

 

ES6의 화살표함수를 이용한 IIFE 문법

(() => 
    // 코드작성 
)();

(() => {
    // 코드작성
})()

 

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

var funName = (function () {
    var name = "Jinny";
    return name;
})();

funName; // "Jinny"

 

 

▶ 즉시 실행 함수의 이점

  • 불 필요한 전역 변수와 함수를 생성하지 않는다.
  • IIFE 에서 생성된 변수와 함수의 이름은 전역 Scope와 충돌하지 않습니다. (= 오염시키지 않는다)
  • closure와 함께 private data를 사용할 수 있다.

 

 

 

# 참고사이트

https://developer.mozilla.org/ko/docs/Glossary/IIFE

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기