[typescript] 열거형(Enum) 멤버에 추가 속성 추가하기
TypeScript에서는 열거형(Enum)을 사용하여 관련된 상수들을 그룹화할 수 있습니다. 기본적으로, 각 열거형 멤버는 0부터 시작하는 인덱스를 갖고 있습니다.
하지만, 때때로 열거형 멤버에 추가적인 속성을 필요로 할 수 있습니다. 이러한 경우, 다음과 같이 열거형 멤버에 추가 속성을 추가하여 사용할 수 있습니다.
enum Direction {
Up = "UP",
Down = "DOWN",
Left = "LEFT",
Right = "RIGHT"
}
interface DirectionProperties {
displayName: string;
value: number;
}
const directions: Record<Direction, DirectionProperties> = {
[Direction.Up]: { displayName: "Up", value: 1 },
[Direction.Down]: { displayName: "Down", value: 2 },
[Direction.Left]: { displayName: "Left", value: 3 },
[Direction.Right]: { displayName: "Right", value: 4 }
};
위의 예시에서, 우리는 Direction
열거형에 displayName
과 value
라는 추가 속성들을 정의하고 있습니다. 그리고 directions
변수를 통해 각 열거형 멤버에 대한 추가적인 속성을 설정하였습니다.
이제, 각 Direction
멤버를 사용할 때 추가 속성에 접근할 수 있습니다.
console.log(directions[Direction.Up].displayName); // "Up"
console.log(directions[Direction.Down].value); // 2
이와 같이 TypeScript에서는 열거형(Enum) 멤버에 추가 속성을 추가하여 유연하고 강력한 코드를 작성할 수 있습니다.
더 자세한 정보는 TypeScript 공식 문서를 참고하세요.
참고자료
- TypeScript 공식 문서: https://www.typescriptlang.org/docs/handbook/enums.html