본문 바로가기

헷갈리는 개념 정리

즉시 실행 함수

즉시 실행 함수 (IIFE, Immediately Invoked Function Expression)


 

한 번만 실행하고 다시는 실행할 필요가 없는 함수를 작성할 때 사용한다. 즉시 실행 함수는 함수를 정의하자마자 실행하게 만들어져있고 딱 1회만 실행되고 다시는 호출할 수 없도록 만들어졌다.

 


 

특징


  1. 정의되자마자 바로 실행됨
  2. 익명 함수를 사용함
  3. 딱 1회만 실행되고 다시는 실행되지 않음
  4. 초기화 코드나 모듈화 패턴을 만들 때 유용하게 사용

 

즉시 실행 함수는 정의하자마자 실행하고 휘발시킬 것이기 때문에 함수명을 지어줄 필요가 없다. 그리고 3번과 같은 특성 때문에 즉시 실행 함수는 초기화를 하는 모듈을 만들 때 자주 사용된다. 모듈은 결합도를 낮춰서 외부 코드와 떼어놓고 독자적으로 사용하기 쉽도록 만드는 것이 핵심이다. 즉시 실행 함수 안에 있는 변수들은 함수 외부에서 접근할 수 없기 때문에 전역 네임스페이스를 더럽히지 않는다.

 

즉, 변수를 전역으로 선언하는 것을 피하거나 일회성으로 사용할 때 사용하는 것이다.

 


 

사용법


 

(function (params) {
	// 작성한 코드 
}) (args);

 

useEffect(() => {
    (async () => {
      const response = await fetch("https://~~");
      const json = await response.json();
    })();
  }, []);