[typescript] 열거형(Enum) 사용 시 주의할 점

TypeScript에서는 열거형(Enum)을 사용하여 관련된 상수들을 그룹화할 수 있습니다. 열거형을 사용하면 코드의 가독성을 높여주고, 중복된 상수를 방지할 수 있어 유용합니다.

그러나, 열거형을 사용할 때 몇 가지 주의할 점이 있습니다.

1. 값의 중복

같은 값을 가진 항목을 정의할 수 있습니다. 이로 인해 의도치 않은 버그가 발생할 수 있습니다. 이를 방지하기 위해서는 중복 값의 사용을 피해야 합니다.

enum Direction {
  Up = 1,
  Down = Up, // 잘못된 예: 값이 중복됨
  Left,
  Right,
}

2. 초기화

열거형 멤버에 값을 할당할 수 있지만, 이는 초기화되지 않은 멤버에만 적용됩니다. 모든 멤버에 값을 할당해야 하는 것은 아닙니다.

enum FileAccess {
  // 초기화되지 않은 멤버
  Read,
  Write,
  ReadWrite = Read | Write, // 올바른 예: 초기화 되지 않은 멤버에만 값을 할당
}

3. 계산된 멤버와 상수 멤버

열거형은 계산된 멤버(computed member)와 상수 멤버(constant member)를 포함할 수 있습니다. 계산된 멤버는 초기값을 갖지 않는 멤버이며, 상수 멤버는 초기값을 갖는 멤버입니다.

enum FileAccess {
  No = 0,
  Yes = 1,
  // 계산된 멤버
  Read = 1 << 1,
  Write = 1 << 2,
  ReadWrite = Read | Write, // 계산된 멤버 간 연산
}

열거형(Enum)은 TypeScript에서 유용한 도구이지만, 올바르게 사용하지 않으면 예기치 않은 결과를 초래할 수 있습니다. 이러한 점을 유의하여 열거형을 사용하면 코드의 가독성을 높일 수 있습니다.

더 자세한 내용은 TypeScript 공식 문서를 참고하세요.