[TS] 열거형 타입

TIL

열거형 타입 (Enum)

타입스크립트에서만 사용할 수 있는 특별한 타입으로, 여러개의 값을 나열하는 용도로 사용한다.

숫자 열거형 타입

enum Role {
  ADMIN = 0,
  USER = 1,
  GUEST = 2,
}

const user1 = {
  name: "woodstock",
  role: Role.ADMIN, // 관리자
};

const user2 = {
  name: "snoopy",
  role: Role.GUEST, // 일반 유저
};

const user3 = {
  name: "jerry",
  role: Role.USER, // 게스트
};

 

다음과 같이 숫자값을 직접 할당하지 않으면 0부터 1씩 늘어나는 값으로 자동할당이 되는데,

enum Role {
  ADMIN, // 0 할당(자동)
  USER,  // 1 할당(자동)
  GUEST, // 2 할당(자동)
}

 

이렇게 시작하는 위치에 기본값을 설정해줄 수도 있다.

enum Role {
  ADMIN = 10, // 10 할당
  USER,  // 11 할당(자동)
  GUEST, // 12 할당(자동)
}

 

 

문자열 열거형 타입

enum Language {
  korean = "ko",
  english = "en",
}

const user1 = {
  name: "고견",
  role: Role.ADMIN, // 관리자
  language: Language.korean,
};

 

enum의 컴파일 결과

enum은 컴파일될 때 다른 타입들처럼 사라지지 않고 자바스크립트 객체로 변환되기 때문에 값으로 사용할 수 있다.

'TIL' 카테고리의 다른 글

[TS] any와 unknown  (0) 2025.10.28
[TS] 타입 정의 연습  (0) 2025.10.28
[TS] 타입 별칭과 인덱스 시그니처  (0) 2025.10.28
[TS] 객체 타입  (0) 2025.10.28
[TS] 배열과 튜플  (0) 2025.10.28
'TIL' 카테고리의 다른 글
  • [TS] any와 unknown
  • [TS] 타입 정의 연습
  • [TS] 타입 별칭과 인덱스 시그니처
  • [TS] 객체 타입
고견
고견
개발 자국 남기기
  • 고견
    개발자국
    고견
  • 전체
    오늘
    어제
    • 분류 전체보기 (157) N
      • Frontend (29)
        • Next.js (16)
        • JavaScript (7)
      • CS (19) N
        • 자료구조 (9)
        • 알고리즘 (5)
        • 운영체제 (4) N
        • 네트워크 (1) N
      • TIL (93)
      • Dev Log (16)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    javascript
    useState
    Next.js
    제네릭
    react
    배열
    Pages Router
    ai 감성 일기장
    Spa
    Trouble Shooting
    자료구조
    문자열
    generic
    페이지 라우터
    cs50
    algorithm
    바닐라 자바스크립트
    타입 좁히기
    알고리즘
    emotion diary
    memory
    인터페이스
    함수 타입
    클래스
    앱 라우터
    App Router
    트러블 슈팅
    C
    CS
    typescript
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
고견
[TS] 열거형 타입
상단으로

티스토리툴바