반응형
즉시 실행 함수는 (IIFE, Immediately Invoked Function Expression)은 정의되자마자 즉시 실행되는 함수이다.
(function () {
// 코드작성
})();
즉시 실행 함수는 크게 두 부분으로 나눌 수 있다.
첫번째는 괄호( function () { } )로 둘러싸인 익명함수 부분이다. 이는 전역 스코프에 불필요한 변수를 추가해서 오염시키는 것을 방지할 수 있을 뿐 아니라 IIFE 내부에 다른 변수들이 접근하는 것을 막을 수 있는 방법이다.
두 번째 부분은 즉시 실행 함수를 생성하는 괄호()이다. 이를 통해 함수를 즉시 해석해서 실행한다.
▶ 문법
기본적인 문법은 다음과 같다.
(function() {
// 코드작성
}());
(function() {
// 코드작성
})();
(function funName() {
// 코드작성
})();
// 인자값 전달
(function(n) {
for(let i=1; i<=n; i++)
console.log(n + "번째 로그");
})(5);
ES6의 화살표함수를 이용한 IIFE 문법
(() =>
// 코드작성
)();
(() => {
// 코드작성
})()
변수에 즉시 실행 함수를 할당하면 실행 결과만 저장된다.
var funName = (function () {
var name = "Jinny";
return name;
})();
funName; // "Jinny"
▶ 즉시 실행 함수의 이점
- 불 필요한 전역 변수와 함수를 생성하지 않는다.
- IIFE 에서 생성된 변수와 함수의 이름은 전역 Scope와 충돌하지 않습니다. (= 오염시키지 않는다)
- closure와 함께 private data를 사용할 수 있다.
# 참고사이트
https://developer.mozilla.org/ko/docs/Glossary/IIFE
반응형
'Frontend > JavaScript' 카테고리의 다른 글
[JS] 매개변수(Parameter)와 전달인자(Argument) (2) | 2021.09.11 |
---|---|
[JS] 함수를 호출하는 메서드 Call, apply, bind (0) | 2021.09.09 |
[JS] 오브젝트(Object) Key, Value에 접근하기 (0) | 2021.09.06 |
[JS] 함수 표현식과 함수 선언식 (0) | 2021.09.05 |
[JS] new Function() (0) | 2021.09.05 |
최근댓글