TypeScript에서 Enum을 사용할 필요가 없나요? 【논의】

안녕, 개발자! 저는 밴쿠버의 소프트웨어 개발자입니다!

나는 최근에 Enums을 사용하는 것에 대해 생각하고 있으며 가능한 한 Enum을 사용하지 말아야 한다는 결론을 내렸습니다.

하지만 왜?

열거형은 컴파일된 JavaScript 파일에 영향을 미칩니다.



일반적으로tsc 명령은 다음과 같은 모든 TypeScript 고유 항목을 제거합니다.
  • 유형 정의
  • 인터페이스 정의
  • 유형 주석

  • 이것은 TypeScript가 컴파일된 JavaScript 파일에 아무런 영향을 미치지 않는다는 것을 의미합니다.

    반면 TypeScript는 Enums를 사용하는 경우 JS 파일에 약간의 영향을 미칩니다.

    그것들을 비교해 봅시다!

    사례 1: 유니온 유형

    타입스크립트

    type BigTechz = "Google" | "Apple" | "Amazon";
    
    const myFav: BigTechz = "Apple";
    


    이후 자바스크립트tsc
    "use strict";
    const myFav = "Apple";
    


    사례 2: 열거형

    enum BigTechz {
      Google = "Google",
      Apple = "Apple",
      Amazon = "Amazon",
    }
    
    const myFav: BigTechz = BigTechz.Apple;
    


    이후 자바스크립트tsc
    "use strict";
    var BigTechz;
    (function (BigTechz) {
      BigTechz["Google"] = "Google";
      BigTechz["Apple"] = "Apple";
      BigTechz["Amazon"] = "Amazon";
    })(BigTechz || (BigTechz = {}));
    const myFav = BigTechz.Apple;
    


    내 생각



    위에서 볼 수 있듯이 Enums는 자바스크립트 파일에 개체로 남아 있어 번들 크기가 더 커집니다.
    그리고 더 중요한 것은 TypeScript가 컴파일된 JavaScript 파일에 어떤 영향도 미치지 않아야 한다고 생각합니다.

    TypeScript는 코드를 작성할 때와 tsc 명령으로 TS 파일을 컴파일할 때 기본적으로 유형 검사기입니다.

    대부분의 경우 Enums 대신 다른 TS 구문을 사용할 수 있으며 가능하면 그렇게 해야 한다고 생각합니다(어쩌면 저는 Union 유형을 선호합니다🙄)!

    이 주제에 대한 다른 개발자들의 의견을 듣고 싶습니다. 댓글을 남겨주시면 감사하겠습니다!

    감사!

    좋은 웹페이지 즐겨찾기