재밌고 어려운 IT를 이해해보자~!

열거형(Enums) 본문

TypeScirpt

열거형(Enums)

언제나즐거운IT 2024. 10. 7. 19:43

Enum


Enum은 그 안에 무슨 값들을 열거했냐에 따라서 Numeric enums, String enums 등으로 불리기도 하는데, 보통 상수들의 집합을 정의하고자 할 때 주로 사용되고는 한다.

 

숫자 열거형 (Numeric enums)

enum Weekdays {
  Monday,
  Tuesday,
  Wednesday,
  Thursday = 10,
  Friday,
  Saturday,
  Sunday,
}
let day: Weekdays = Weekdays.Thursday;
console.log(day);
console.log(Weekdays.Friday);

 

보통 enum은 위와 같이 사용하고는 하는데, 왜 저게 숫자 열거형이냐 하면 따로 특정한 값이 주어지지 않으면 자동적으로 0부터 숫자가 할당되기 때문
Moday = 0, Tuesday = 1, Wednesday = 2....
 
그렇다면 Thursday에서 10을 지정해줬는데 여기서 Friday는 초기값을 기준으로 다시 1씩 증가하기 때문에 Friday = 11이 된다. 그 이후 역시 1씩 증가한 값이 할당된다.

 

문자 열거형 (String enums)

enum Codes {
  CD0001 = '퇴사',
  CD0002 = '이직',
  CD0003 = '취업',
  CD0004 = '취준',
  CD0005 = '백수',
  CD0006 = '코코',
}
let code: Codes = Codes['CD0001'];
code = Codes.CD0003;

 

하지만 굳이 상수를 관리한다고 enum을 사용하고자 한다면 숫자 열거형 말고 문자 열거형을 사용하는 것이 좋고,
그래도 enum보다는 그냥 class로 상수를 관리하는 게 더욱더 좋다.

class AppCode {
  static readonly CD0001 = "1상수입니다.";
  static readonly CD0002 = "2상수입니다.";
  static readonly MAX_LENGTH = 5;
}
let appCode = AppCode.CD0002;

 

Comments