이름이 있는 상수 집합을 정의한 데이터 구조
- 여러 관련된 값을 하나의 그룹으로 묶어 관리 가능
- 열거형 이름(key)과 값(value)으로 이루어짐
여러상수 편리하게 정의할때 유용(+타입안전)
종류
숫자 열거형
자동 할당
enum Dir {
Up, // 0
Down, // 1
Left, // 2
Right, // 3
}
명시적 값 지정, 이후 값 자동 증가
enum Dir {
Up =1 ,
Down, // 2
Left, // 3
Right, // 4
}
console.log(Dir.Left); //3
console.log(Dir[3]); // "Left" 값으로 이름 찾기도 가능
문자열 열거형
enum Dir {
Up = "UP",
Down = "DOWN",
Left = "LEFT",
Right = "RIGHT",
}
숫자, 문자 혼합도 가능하나 권장x
간단한 문자열 상수 그룹은 유니언타입 추천
type Dir = "Up" | "Down" | "Left" | "Right";
*언제 쓰나용?
- 상수 그룹을 논리적으로 관리해야 할 때.
- 값과 의미를 매핑해야 할 때 (숫자나 문자열).
- 열거형의 역방향 매핑이 필요한 경우.
적용
export enum Categories {
TO_DO = "TO_DO",
DOING = "DOING",
DONE = "DONE",
}
export interface IToDo {
id: number;
text : string;
category: Categories; //category: "TO_DO" | "DOING" | "DONE";
}
{category !== Categories.DONE && (
<button name={Categories.DONE} onClick={onClick}>)}'TypeScript' 카테고리의 다른 글
| [TypeScript] Class / Interface (0) | 2024.11.30 |
|---|---|
| [TypeScript] Call Signatures / Over Loading / Generics (0) | 2024.11.30 |
| [TypeScript] 기본타입 (0) | 2024.11.29 |
| [TypeScript] 타입 선언/ 별칭/ 옵션 (0) | 2024.11.28 |
| [TypeScript] 설치 및 환경 구축 (0) | 2024.11.27 |