[꼼꼼한 개발자] 꼼코더
[TypeScript(TS)] - enum 타입이란? 간단하고 쉽게 이해하기 (예제코드) 본문
반응형
🧹 간단 정리
enum 타입은 변하지 않는 것을 묶어놓은(열거한) 타입이다.
ex) > enum Tier {Gold, Platinum, Diamond}
(자세한 내용은 아래참고)
🙋🏻♂️ enum 타입 소개
enum은 열거형(enumaration)의 줄임말로, 연관된 상수들을 묶어서 사용하는 타입이다.
여러 개의 관련된 값을 한 곳에 모아 놓음으로써 가독성과 유지보수성을 향상시킬 수 있다.
enum은 주로 숫자나 문자열과 연결된 값들을 나타내는데 사용된다.
👍🏻 enum 타입의 장단점
장점
- 가독성 향상: 코드 내에서 명시적인 이름을 사용하여 상수를 참조할 수 있다.
- 유지보수 용이성: 관련된 상수들을 그룹화하여 관리하므로 코드 수정 시 편리하다.
단점
- 타입 안정성 감소: enum 값은 숫자로도 접근 가능하므로 타입 안정성이 떨어질 수 있다.
- 번거로움: 값의 추가나 변경 시 enum 정의를 수정해야 하는 번거로움이 있을 수 있다.
🧑🏻💻 enum 타입 사용 예제
열거된 각 멤버는 별도의 값이 설정되지 않은 경우 기본적으로 0부터 시작한다.
아래 코드에서 sarha 변수에 할당된 값은 3.
설정된 Team 열거형 데이터의 Designer 멤버 값이 숫자 3이기 때문.
// enum 정의
enum Team {
Manager, // 0
Planner, // 1
Developer, // 2
Designer // 3
}
// 값 할당 예제
let sarha: number = Team.Designer; // (enum member) Team.Designer = 3
enum에 설정된 아이템에 값을 할당할 수도 있다.
값이 할당되지 않은 아이템은 이전 아이템의 값에 +1된 값이 설정된다.
// 값 할당 및 순서 예제
enum TeamWithValues {
Manager = 101,
Planner = 208,
Developer = 302,
Designer // 303 (previous value + 1)
}
let yamoo9: number = TeamWithValues.Manager; // (enum member) TeamWithValues.Manager = 101
let sarha: number = TeamWithValues.Designer; // (enum member) TeamWithValues.Designer = 303
// 숫자 값을 통한 enum 멤버 이름 추출
let role: string = TeamWithValues[302]; // 'Developer'
출처 (https://yamoo9.gitbook.io/typescript/types/enum)
💁🏻♂️ 결론
enum 타입은 연관된 상수들을 정의하고 사용함으로써 가독성과 유지보수성을 향상시키는데 도움을 준다.
하지만 타입 안정성이 감소하고 값 변경 시 번거로움이 있을 수 있으므로 적절한 상황에서 사용하는 것이 좋다.
'TypeSctript(TS)' 카테고리의 다른 글
[TypeScript(TS)] - Tuple 타입이란? 간단하고 쉽게 이해하기 (예제코드) (0) | 2023.08.29 |
---|---|
[TypeScript(TS)] - 타입스크립트란? (타입스크립트 장단점, 예제코드) (0) | 2023.08.29 |
Comments