토막 지식

[javascript] 즉시 실행 함수(IIFE) - 타입스크립트 enum 컴파일

디정 2024. 6. 13. 11:16

즉시 실행 함수란 함수를 정의하고 바로 실행하는 패턴이다. 

익명함수를 정의한 후 바로 실행된다. 구조는 다음과 같다.

 

(function (BoardStatus) { ... })(...);

 

(function (BoardStatus) { ... }) 부분에 함수가 정의되고, (...) 부분에서 실행된다. 익명함수이기 때문에 해당 함수는 다시 재활용할 수 없다.

 

타입스크립트에서는 자료형(타입)을 지정하는 방식으로 enum 자료형을 지원하고 있다.  enum 자료형은 타입 스크립트가 자바 스크립트로 컴파일 될 때 즉시 실행함수 형태로 변환된다.

 

//타입스크립트 표현식
export enum BoardStatus {
  PUBLIC = 'PUBLIC',
  PRIVATE = 'PRIVATE',
}


//javascript 컴파일
(function (BoardStatus) {
    BoardStatus["PUBLIC"] = "PUBLIC"; //BoardStatus 객체에 PUBLIC 속성 지정
    BoardStatus["PRIVATE"] = "PRIVATE"; //BoardStatus 객체에 PRIVATE 속성 지정
})(BoardStatus || (BoardStatus = {})); // 매개변수를 넘겨 바로 실행됨.

 

 

END.