728x90
300x250
SMALL
요즘 이런 자바스크립트 구문을 심심치 자주 볼 수 있는데
;(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의 기본형이 아닌 맨위에 언급함 ;를 앞에 붙여주는 이유는 여러 스크립트 가 호출 되었을때 다른 스크립트와의 충돌 방지를 위해서 구분자로 넣어준것
728x90
반응형
LIST
'javaScript > J Query & 스크립트' 카테고리의 다른 글
[javaScript] 인스턴스란? (0) | 2022.12.21 |
---|---|
IIFE 즉시 실행 함수를 사용하는 이유 (0) | 2022.12.20 |
[javaScript] onclick function에서 this 가져오기 (0) | 2022.12.16 |
[javaScript] 리터럴과 new string() 차이 (0) | 2022.11.21 |
javaScript에서 this (0) | 2022.11.17 |
댓글