My Boundary As Much As I Experienced

TypeScript) enum 본문

FrontEnd/TypeScript

TypeScript) enum

Bumang 2023. 10. 18. 12:25

특정 숫자에 의미를 부여해서 타입들을 관리하고 싶을 때,

예를 들어 어떤 게임에서 player = 0, staff = 1, manager = 2 이런 식으로 코드를 부여해서 쓰고 싶다고 하자.

이런 상황에서 유용하게 사용할 수 있는게 enum이다. 

 

이걸 자바스크립트에서 쓰려면 이런식으로 사용한다.

// 자바스크립트에서도 통하는 방식
const ADMIN = 0
const READ_ONLY = 1
const AUTHOR = 2
이걸 아래 role에다 넣는게 더 간편할 수 있다. (자바스크립트에도 통하는 방식)

 

그러나 TS의 enum을 사용하면 조금 더 그룹화된 사용을 할 수 있다. 순서대로 0,1,2,... 식으로 일종의 인덱스가 부여된다.

// 각기 변수를 만들지 않고 통합된 하나의 그룹처럼 쓰는게 enum.
enum Role { // 순서대로
  ADMIN, // === 0
  READ_ONLY, // === 1
  AUTHOR, // === 2
}

 

 

특정 숫자 값도 지정할 수 있다.

enum Role { // 특수하게 원하는 수가 있으면 지정 가능하다.
  ADMIN = 10,
  READ_ONLY = 20,
  AUTHOR = 100,
}
// 이렇게 임의의 숫자를 부여할 수 있다.