개발 알다가도 모르겠네요

타입스크립트의 Enum 본문

웹/Typescript

타입스크립트의 Enum

이재빵 2022. 6. 19. 13:30
728x90

TypeScript에서는 enum을 사용하는 것이 가능합니다.

enum Color {
  RED,
  GREEN,
  BLUE
}

선언 후에 아래와 같이 사용할 수 있습니다.

function setColor(color: Color) {
  // ...
}
setColor(Color.RED);

 

var Color = {
  RED: 0,
  GREEN: 1,
  BLUE: 2,
  0: 'RED',
  1: 'GREEN',
  2: 'BLUE'
};

enum 키워드는 기본적으로 리버스 매핑(reverse mapping)을 지원합니다.

리버스 매핑이란 키로 값을 얻을 수 있을 뿐만 아니라, 값으로도 키를 얻을 수 있는 방식을 말합니다.

 

 

선언과 값 초기화

enum으로 만들어진 변수에는 내부적으로 값이 할당됩니다.

별도의 명시가 없다면 값은 0부터 시작해서 1씩 증가하는 형태로 할당됩니다. 

enum Color {
  RED = 10,
  GREEN = 20,
  BLUE = RED + GREEN
}

간단한 연산자를 사용한 표현식으로도 초기화할 수 있습니다.

enum Color {
  RED = 'red',
  GREEN = 'green',
  BLUE = 'blue'
}

 

const enum

enum 키워드는 앞에 const와 함께 사용할 수도 있습니다. 
const와 함께 사용할 경우, Enum은 컴파일 결과물을 가지지 않는다. 예를 들면,

const enum Color {
  RED = 'red',
  GREEN = 'green',
  BLUE = 'blue'
}

const red = Color.RED;

이러한 코드가 있다고 할 때 컴파일 결과는 아래와 같이 나타납니다.

var red = "red" /* RED */;

' > Typescript' 카테고리의 다른 글

타입스크립트의 타입 가드  (0) 2022.06.27
타입스크립트의 타입 추론  (0) 2022.06.19
타입스크립트의 함수  (0) 2022.06.18
타입스크립트의 인터페이스  (0) 2022.06.18
타입스크립트의 제네릭  (0) 2022.06.18