- 정의되자마자 즉시 실행되는 함수
- Immediately Invoked Function Expression
Self-Executing Anonymous Function
으로 알려진 디자인 패턴(function () {
statements
})()
// IIFE 표현 내부의 변수는 외부로부터의 접근이 불가능하다.
(() => {
let name = '김코딩'
})()
console.log(name);//// throws "Uncaught ReferenceError: aName is not defined"
//접근하려면 IIFE안에 return 작성
(() => {
let name = '김코딩';
return name;
})()
console.log(name); //김코딩
//IIFE를 변수에 할당하면 IIFE 자체는 저장되지 않고, 함수가 실행된 결과만 저장
let result = (() => {
let name = '김코딩';
return name;
})();
result; // 김코딩
//