본문 바로가기
javaScript/J Query & 스크립트

;(function () )() javascript 의미는? IIFE

by mooyou 2022. 12. 17.
728x90
300x250

 

요즘 이런 자바스크립트 구문을 심심치 자주 볼 수 있는데

;(function () {
	//statements
})()

 

IIFE (IIFE, Immediately Invoked Function Expression) : 즉시 실행 함수 표현

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

 

보통 함수는 함수 선언 부분과 호출 부분이 따로 있지만

function test(){
	// statements
}
test();

IIFE의 즉시 실행함수 표현을 사용하면 함수를 바로 즉시 호출할 수 있다.

 

 

IIFE의 기본형은 다음과 같은 형태이다.

(function () {
   // statements
})();

크게 두 부분으로 구성되는데 첫 번째 괄호로 둘러 싸인 익명함수 부분은 전역 스코프에 불필요한 변수를 추가해서 오염시키는 것을 방지할 수 있을 뿐 아니라 IIFE 내부안으로 다른 변수들이 접근하는 것을 막을 수 있다.

 

두번째 () 괄호 부분은 즉시 실행함수를 생성한다. 이를 통해서 자바스크립트 엔진은 함수를 즉시 해석한다.

 

(function () {
    var aName = "Barry";
})();
// IIFE 내부에서 정의된 변수는 외부 범위에서 접근이 불가능하다.
// 즉시 결과를 생성한다.

 

앞에 ;를 붙여주는 이유는

;(function () {
	//statements
})()

 

IIFE의 기본형이 아닌 맨위에 언급함 ;를 앞에 붙여주는 이유는 여러 스크립트 가 호출 되었을때 다른 스크립트와의 충돌 방지를 위해서 구분자로 넣어준것

 

 

 

 

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

728x90
반응형

댓글