즉시 실행 함수(Immediately Invoked Function Expression)은 선언과 동시에 실행되는 함수입니다.
(function () {
statements
})();
즉시 실행 함수는 자가 실행 익명 함수(Self-Excuting Anynomous Function)로 알려진 설계 패턴이며, 다음과 가이 크게 두 부분으로 구성됩니다.
첫 번째는 함수를 감싸는 그룹핑 연산자 ()
안에 갇히는 렉시컬 스코프를 갖는 익명 함수입니다. 이는 즉시 실행 함수 내 함수에 접근을 막고, 글로벌 스코프를 오염시키지 않도록 합니다.
(function () {
var aName = "Barry";
})();
aName // "Uncaught ReferenceError: aName is not defined"
// 즉시 실행 함수 외부에서 함수 내 변수에 접근 불가
두 번째는 이를 실행하는 ()
로 자바스크립트 엔진은 해당 함수를 즉시 실행합니다.
var result = (function() {
var name = "Barry";
return name;
})();
result; // "Barry"
// 위 경우 즉시 실행 함수 정의를 변수에 할당하는 것이 아니라 리턴 값을 변수에 할당.
참고 자료
'개발 > JavaScript' 카테고리의 다른 글
자바스크립트 filter() 메소드 설명 (0) | 2020.12.15 |
---|---|
자바스크립트 동기/비동기 차이점은 무엇일까요? (0) | 2020.11.23 |
자바스크립트 sort() 메소드 사용 방법 정리 (0) | 2020.11.20 |