[typescript] 타입스크립트에서의 이넘 타입 변환 방식

타입스크립트에서 이넘(Enum)은 특정 값에 대한 명명된 상수 집합을 정의하는 데 사용됩니다. 이넘을 사용하면 코드의 가독성을 높일 수 있고, 일정 범위 내에서만 유효한 값들을 정의할 수 있습니다. 이 문서에서는 타입스크립트에서 사용되는 이넘(Enum) 타입의 변환 방식을 소개합니다.

이넘(Enum) 정의하기

이넘을 정의할 때, 다음과 같은 형식으로 작성합니다.

enum Weekday {
  Sunday,
  Monday,
  Tuesday,
  Wednesday,
  Thursday,
  Friday,
  Saturday
}

위 코드에서 Weekday는 이넘의 이름이고, 각 요일은 0부터 시작하는 인덱스를 할당받습니다.

숫자형 이넘(Enum)을 문자열로 변환하기

기본적으로 타입스크립트는 숫자형 이넘(Enum)을 문자열로 변환하지 않습니다. 하지만, 명시적으로 문자열 값을 할당함으로써 이를 가능하게 할 수 있습니다.

enum Weekday {
  Sunday = 'Sunday',
  Monday = 'Monday',
  Tuesday = 'Tuesday',
  Wednesday = 'Wednesday',
  Thursday = 'Thursday',
  Friday = 'Friday',
  Saturday = 'Saturday'
}

위와 같이 각 요일에 문자열 값을 할당하면, 해당 이넘(Enum)을 문자열로 변환할 수 있습니다.

문자열형 이넘(Enum) 사용하기

타입스크립트 2.4 버전 이상부터는 문자열형 이넘(Enum)을 지원합니다. 이넘을 문자열로 선언하고 사용하려면, 다음과 같이 작성합니다.

enum Weekday {
  Sunday = 'SUNDAY',
  Monday = 'MONDAY',
  // ...
}

이렇게 하면 문자열 값뿐만 아니라 문자열 리터럴 값도 이넘(Enum)으로 사용할 수 있습니다.

결론

타입스크립트에서의 이넘(Enum)은 명명된 상수 집합을 정의할 수 있는 강력한 도구입니다. 이넘을 사용함으로써 코드의 가독성을 높일 뿐만 아니라 타입 안정성을 확보할 수 있습니다. 숫자형 이넘(Enum)을 문자열로 변환하거나, 문자열형 이넘(Enum)을 활용함으로써 다양한 상황에 대응할 수 있습니다.

더 자세한 내용은 타입스크립트 공식 문서를 참고하세요.