[TypeScript] 이넘

종현·2023년 12월 26일

[TypeScript]

목록 보기
7/19

이넘이란?

  • 특정 값의 집합을 의미하는 데이터 타입

  • 상수의 집합

enum ShoesBrand {
  Nike,
  NewBalance
}

숫자형 이넘

  • 이넘에 선언된 속성은 기본적으로 숫자 값을 가진다.
enum Direction {
  Up,   // 0
  Down, // 1
  Left, // 2
  Right // 3
}

console.log(Direction.Down) // 1
  • 이넘 속성의 초기값을 변경하고 싶다면 다음과 같이 선언한다.
enum Direction {
  Up = 10,   
  Down, // 11
  Left, // 12
  Right // 13
}

문자형 이넘

  • 이넘의 속성 값에 문자열을 연결한 이넘을 의미한다.

  • 숫자형 이넘과는 다르게 모든 속성 값을 다 문자열로 지정해 주어야 한다.

  • 속성 이름과 값을 동일한 문자열로 관리하는 것이 일반적인 규칙이다.

enum Direction {
  Up = 'Up',   
  Down = 'Down', 
  Left = 'Left', 
  Right = 'Right'
}

알아 두면 좋은 이넘의 특징

1. 혼합 이넘

  • 숫자와 문자열을 섞어서 선언할 수 있다.
  • 가능하지만 하나의 데이터 타입으로 관리하는 것이 좋다.
enum Answer {
  Yes = 'Yes',
  No = 1
}

2. 다양한 이넘 속성 값 정의 방식

  • 고정 값뿐만 아니라 다양한 형태로 값을 할당할 수 있다.
enum Authorization {
  User,                      // 0
  Admin,                     // 1
  SuperAdmin = User + Admin, // 1
  God = 'abc'.length         // 3
}

3. const이넘

  • 이넘을 선언할 때 앞에 const를 붙인 이넘

  • 컴파일 결과물의 코드양을 줄이기 위해 const를 이넘 앞에 붙인다.

const enum logLevel {
  Debug = 'Debug',
  Info = 'Info',
  Error = 'Error'
}

출처: 쉽게 시작하는 타입스크립트

profile
지속 가능한 성장 습관을 만들어 나가고 싶어요!

0개의 댓글