Pandaman Blog

[JS] Javascript의 즉시 실행 함수 (IIFE) 본문

Front end/Javascript

[JS] Javascript의 즉시 실행 함수 (IIFE)

oyg0420 2020. 1. 19. 01:35

Javascript 즉시실행함수(IIFE)

즉시 실행 함수 표현(IIFE, Immediately Invoked Function Expression)은 정의되자마자 즉시 실행되는 Javascript Function 를 말합니다. - MDN -

mdn문서에서 즉시 실행함수를 찾아보면 위와 같이 설명합니다. 일단 어떤 형태로 생겼는지 확인해보겠습니다.

(function () {
   console.log('test')
})();
// 'test'

위 예제는 즉시실행함수의 형태입니다. 첫번째 괄호 내부에 함수표현식으로 익명함수를 만들고 바디에 내용을 넣었습니다.
그리고 두번째 괄호로 즉시 실행 함수를 생성하여 함수를 실행시켰습니다.

그리고 IIFE 스코프안에서 안전하게 변수가 보호됩니다. 예제를 통해 확인해보겠습니다.

var animal = 'cow';
var str1;
(function(value) {
  var items = ['rabbit', 'cow'];
  if (value === 'cow') {
    str1 = items[0];
  } else {
    str1 = items[1];
  }
})(animal);

console.log(str1); // rabbit
;

위 예제는 즉시호출함수로 전역변수 str1를 초기화하는 작업입니다. IIFE 스코프내부 변수들(items, value)은 안전하게 보호되어 전역변수와 충돌을 방지 할 수 있습니다.

 

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음

Comments