IIFE(즉시 실행 함수)

Judo·2020년 12월 31일
0
  • 정의되자마자 즉시 실행되는 함수
  • Immediately Invoked Function Expression
  • Self-Executing Anonymous Function 으로 알려진 디자인 패턴
(function () {
	statements
})()
  • 첫 번째 괄호
    • 전역 스코프에 불필요한 변수를 추가해서 오염시키는 것을 방지
    • IIFE 안으로 다른 변수들이 접근하는 것을 막을 수 있다.
  • 두 번째 괄호
    • 즉시 실행 함수를 생성하는 괄호
    • 이를 통해 함수를 즉시 해석, 실행한다.
// 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; // 김코딩

//

profile
즐거운 코딩

0개의 댓글