1. TS에서 enum 대신 const를 활용한 union type을 쓰자

  • enum을 사용하는 것을 자제하는게 좋은 이유
    • TypeScript에서 enum을 사용하면 Tree-shaking이 되지 않음
      • Tree-shaking = 사용하지 않는 코드를 삭제하는 기능
    • const enum은 긴 문자열을 할당할 경우 효과적이지 않음
      • ts file을 js로 transfile할 경우
  • 모든 것을 고려했을 때, 아래와 같이 const를 활용해 type화 하는 것이 좋음
const MOBILE_OS = {
  IOS: 'iOS',
  Android: 'Android'
} as const;

type MOBILE_OS = typeof MOBILE_OS[keyof typeof MOBILE_OS]; // 'iOS' | 'Android'

https://engineering.linecorp.com/ko/blog/typescript-enum-tree-shaking/

 

TypeScript enum을 사용하지 않는 게 좋은 이유를 Tree-shaking 관점에서 소개합니다. - LINE ENGINEERING

안녕하세요. LINE Growth Technology UIT 팀의 Keishima(@pittanko_pta)입니다. 이번 글에서는 TypeScript의 enum을 사용하지 않는 편이 좋은 이유를 Tree-shaking 관점에서 소개하겠습니다.

engineering.linecorp.com

 

+ Recent posts