[TypeScript] Enum 타입

해리포터·2022년 11월 12일
0
post-thumbnail

Enum

공식문서 Enum 정의

Enum은 열거형이라고도 불리며, enum 키워드를 사용해서 정의한다.
이름이 정의된 여러 값들의 집합인 타입이다.

Enum 타입을 사용하는 이유?

JavaScript만 알고 있던 나는, enum 타입이 생소해서 어떤 경우에 사용하면 좋은지 궁금해서 구글링을 해봤다.
여러 블로그를 참고한 결과 가장 이해가 쉬웠던 이유는 아래와 같다.

같은 ‘종류’를 나타내는 여러 개의 숫자 혹은 문자열을 다뤄야 하는데, 각각 적당한 이름을 붙여서 코드의 가독성을 높이고 싶다면 enum을 사용하세요.
(출처: TypeScript enum을 사용하는 이유)

아래의 예제들은 공식문서에서 가져왔다.

숫자형 enum (Numeric enums)

enum의 속성에 값을 명시적으로 지정해주지 않으면 자동으로 0부터 시작해서 1씩 증가하는 값들이 지정된다.

enum Direction {
  Up = 1, // 1로 초기값을 정하면, 아래의 값들은 각각 
  Down, // 2
  Left, // 3
  Right, // 4가 된다.
}

만약 초기값을 정하지 않는다면, 각각의 값들은 0부터 시작해서 1씩 증가한다.
또는 각각의 값을 다르게 지정해줄 수도 있다.

enum Direction {
  Up, // 0
  Down, // 1
  Left, // 2
  Right, // 3
}

문자형 enum (String enums)

숫자 외에도 문자열도 지정이 가능하다.

enum Direction {
  Up = "UP",
  Down = "DOWN",
  Left = "LEFT",
  Right = "RIGHT",
}

복합형 enum (Heterogeneous enums)

숫자와 문자 둘 다 혼용해서 사용도 가능하다.

enum BooleanLikeHeterogeneousEnum {
  No = 0,
  Yes = "YES",
}

profile
FE Developer 매일 한 걸음씩!

0개의 댓글