[typescript] 열거형(Enum)의 중복 선언 방지
목차
열거형(Enum)이란?
열거형(Enum) 은 특정한 값들의 집합을 정의할 때 사용되는 TypeScript의 기능입니다. 여러 가지 선택지를 나타내거나 유사한 형식의 값들을 그룹으로 묶을 때 사용됩니다.
중복 선언 문제
기존에는 TypeScript에서 열거형을 정의할 때, 동일한 이름으로 여러 번 선언하여 변형할 수 있었습니다. 이는 실수로 중복 값이 정의될 수 있는 위험을 내포하고 있습니다.
enum Direction {
Up = 1,
Down,
Left,
Right,
}
enum Direction {
Up = 5,
// TypeError: Enum member 'Up' has already been initialized with a different value
}
중복 선언 방지하는 방법
TypeScript 2.7부터는 중복 선언을 방지하기 위해 const 열거형(Enum) 을 사용할 수 있습니다. 이를 이용하면 열거형에 대한 중복 선언을 방지하고 더 강력한 타입 추론을 가능하게 할 수 있습니다.
const enum Direction {
Up = 1,
Down,
Left,
Right,
}
const enum Direction {
// Error: Subsequent variable declarations must have the same type
Up = 5,
}
결론
TypeScript 2.7부터 도입된 const 열거형은 중복 선언 문제를 방지하고 타입 안정성을 향상시킵니다. 중복 선언을 방지하기 위해 열거형을 사용할 때에는 const 열거형의 활용을 권장합니다.
참고 자료: TypeScript Handbook - Enums