[TypeScript] Enums(열거형)

2024. 12. 23. 02:21·TypeScript

이름이 있는 상수 집합을 정의한 데이터 구조

- 여러 관련된 값을 하나의 그룹으로 묶어 관리 가능

- 열거형 이름(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
'TypeScript' 카테고리의 다른 글
  • [TypeScript] Class / Interface
  • [TypeScript] Call Signatures / Over Loading / Generics
  • [TypeScript] 기본타입
  • [TypeScript] 타입 선언/ 별칭/ 옵션
Naah
Naah
  • Naah
    blueprint
    Naah
  • 전체
    오늘
    어제
    • 분류 전체보기 (106)
      • Java (28)
      • Kotlin (0)
      • TypeScript (7)
      • React (22)
      • Next.js (1)
      • Spring (22)
      • JPA (12)
      • Spring Data JPA (6)
      • Querydsl (1)
      • Error (7)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 글쓰기
    • manage
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Naah
[TypeScript] Enums(열거형)
상단으로

티스토리툴바