[typescript] 열거형(Enum) 멤버의 값 중복 여부 확인하기

열거형(enum)을 사용하면 관련된 상수들을 그룹화하여 정의할 수 있습니다. 각 열거형 멤버는 고유한 값이기 때문에 때로는 중복된 값이 있지 않도록 확인해야 합니다. TypeScript는 이를 해결할 수 있는 몇 가지 방법을 제공합니다.

1. 열거형 멤버에 중복된 값 할당 시 경고

TypeScript는 기본적으로 열거형 멤버에 중복된 값이 있는 경우 경고 메시지를 표시합니다. 예를 들어, 다음과 같이 열거형을 정의할 때 중복된 값이 있다면 TypeScript는 경고를 표시합니다.

enum Direction {
  Up = 1,
  Down = 2,
  Left = 1, // 중복된 값
  Right = 3,
}

TypeScript 컴파일러는 이 코드를 다음과 같이 처리하며 중복된 값에 대한 경고를 표시합니다.

Duplicate identifier 'Up'.

2. 문자열 또는 계산된 멤버 이용

문자열 또는 계산된 멤버를 사용하면 동일한 값이 아니더라도 중복된 값을 허용할 수 있습니다. 이러한 방식으로 중복을 피하고자 할 때는 열거형 멤버에 문자열 또는 계산된 값을 할당할 수 있습니다.

예를 들어, 다음과 같이 열거형을 정의할 수 있습니다.

enum Direction {
  Up = "UP",
  Down = "DOWN",
  Left = "LEFT",
  Right = "RIGHT",
}

이 방법을 사용하면 중복된 값을 갖는 열거형을 정의할 수 있으며 TypeScript에서 경고를 피할 수 있습니다.

이러한 방법을 통해 TypeScript에서 열거형 멤버의 중복된 값에 대해 경고를 피하고 처리할 수 있습니다.

참고 자료: