Written by
Nostrss
on
on
[JS #7] 즉시실행함수(IIFE)
즉시 실행 함수(IIFE, Immediately Invoked Function Expression)
정의되자마자 바로 실행되는 함수
형태는 아래와 같다.
(function () {
statements;
})();
이 함수를 사용하는 이유는 공간 또는 새로운 스코프를 생성할 수 있기 때문이라고 한다
블록 스코프를 흉내낸듯한 새로운 스코프를 만들어내는 효과가 있다.
(function () {
var aName = "Barry";
});
if (true) {
var temp = "";
(function () {
var temp = "hello";
console.log(temp);
})();
}
console.log(temp);
외부에서 즉시실행함수 내부에 접근이 불가능하기 떄문에 숨겨야할 데이터를 변수로 사용할 때 사용했다고 한다.
(function () {
var privateData = "secret"; // 숨겨야할 데이터
console.log(privateData);
})();
여러 즉시실행함수와 붙어서 실행되는 경우가 많기 때문에 꼭 끝에 세미콜론(;)을 붙여서 사용하는 것이 좋다고 한다.
(function () {})();
(function () {})(); // 세미콜론을 붙이자
let
과 const
가 없는 과거 버전에서 많이 사용했으며 요즘은 많이 사용되지 않는 함수.