[FE/JavaScript] IIFE(즉시-실행 함수 표현식)

waterglasses·2021년 10월 5일
0

자바스크립트

목록 보기
4/16
post-thumbnail

📌 IIFE (Immediately-Invoked Function Expression)

  • 즉시-실행 함수 표현식
  • 함수 표현식을 즉시 실행하는 것을 말한다.

📌 사용 이유

  • 보통 전역 스코프(Global Scope)를 오염시키지 않기 위해서 사용한다. 즉, 변수를 전역 스코프에 선언하는 것을 피하기 위함이다.

📌 클로저와 private 데이터

  • IIFE 안에서 클로저를 생성하면 private 데이터를 만들 수 있고 외부에서 접근할 수 없다.

아래는 내가 백준에서 자주 사용하는 코드이다.

const input = (() => {
  let line = 0;
  return () => stdin[line++];
})();

IIFE안의 익명함수는 클로저가 되고 변수 line 은 private 데이터가 되므로 밖에 보여지지 않는다. 흔히 말하는 모듈 패턴이 바로 이 방식에 의존한다.

출처

IIFE (Immediately-Invoked Function Expression)

profile
매 순간 성장하는 개발자가 되려고 노력하고 있습니다.

0개의 댓글