본문 바로가기
FE/TypeScript

타입스크립트의 enum 타입

by 코딩의 세계 2025. 4. 17.

열거형 타입

타입스크립트에서 enum타입은 "열거형 타입"이라고 불리는 타입이다.

이 타입은 자바스크립트에서는 지원하지 않고, 타입스크립트에서만 지원한다.

일단 코드 예시부터 보자.

enum Role {
  ADMIN,
  USER,
  GUEST,
}

열거형은 위와 같이 여러 개의 값을 나열하는 용도로 사용한다.

사용하고 싶다면 enum를 선언해 주면 된다.

// enum 타입
// 여러가지 값들에 각각 이름을 부여해 열거해두고 사용하는 타입

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

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

const user2 = {
  name: "홍길동",
  role: Role.USER, // 회원
};

const user3 = {
  name: "아무개",
  role: Role.GUEST, // 게스트
};

이런 식으로 Role를 선언. 이 안에 멤버들에게 값을 할당해 준다.

이것을 추후에 선언한 변수에 "."연사를 이용해서 할당을 해줄 수 있다. 코드를 보면 이해가 바로 갈 것이다.

참고로 따로 값을 멤버들에게 할당하지 않으면, 0부터 1씩 늘어나는 값을 할당해 준다. (개꿀)

자동 할당은 0부터이고, 처음 숫자를 다르게 (예를 들어 10이면)하고 싶다면 처음 숫자에만 할당해 주면 된다. (이것도 1씩 늘어남)

이런 식으로 숫자뿐 아니라 문자도 할당이 가능하다. 

예시 코드 >

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

이것도 프로퍼티 값으로도 쓸 수 있다.

enum Role {
  ADMIN,
  USER,
  GUEST,
}

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

const user1 = {
  name: "이정환",
  role: Role.ADMIN, // 0
  language: Language.korean,// "ko"
};

관련 글은 밑 링크를 참고해 주세요. (재사용 및 공유 가능함을 확인하였습니다.)

https://ts.winterlood.com/ed2b0365-72ea-4c3e-b646-7e9e22a472aa#24e543f3a46048b1963023728755bd20

 

열거형 타입 - 타입스크립트 기본

한 입 크기로 잘라먹는 타입스크립트

ts.winterlood.com