IIFE ( 즉시 호출하는 함수 표현식 )

hackney·2021년 5월 25일
0

함수 표현식을 사용하면 즉시 호출하는 함수 표현식( IIFE )이란 것을 만들 수 있다. IIFE 는 함수를 선언하고 즉시 실행함.

문법

(function () {
	//IIFE 바디
 }
})();

함수 표현식으로 익명함수를 만들어준다음에 즉시 호출하는 것!

장점: 내부에 있는 것들이 모두 자신만의 스코프를 가지지만, IIFE 자체는 함수이기 때문에 그 스코프 밖으로 무언가를 내보낼 수 있다는 것.

예제 1번

(뭔가 정말로 비밀 메세지 같아서 예제가 재밌었다 ㅎㅎ)

const message = (function() {
	const secret = "I'm a secret!" ;
    return `The secret is ${secret.length} characters long!`;
})();
console.log(message);

  • 변수 secret 은 IIFE의 스코프 안에서 안전하게 보호되고 외부에서 접근할 수 없다.
  • IIFE는 함수다. 때문에 무엇이든 반환할 수 있고 배열,객체,함수를 반환하는 경우도 무척이나 많다.

예제 2번

자신이 몇 번 호출되었는지 보고하는 함수
이 함수가 몇 번 호출됐는지 저장한 값을 외부에서는 절대 손댈 수 없다.

ES6 에서 블록 스코프 변수 ( let, const )를 도입하면서 IIFE가 필요한 경우가 줄어들었지만 여전히 널리 쓰인다고 한다.
클로저를 만들고 클로저에서 무언가 반환받을 때에 유용하게 사용이 가능하다!

profile
우리 머릿속에 어떤 생각이 차지하고 있든 우주의 질서가 달라지지는 않는다

0개의 댓글

관련 채용 정보