본문 바로가기
TIL

156. [TypeScript] enum 타입 TIL 23.05.23

by 새싹_v 2023. 5. 23.
728x90


 

enum 타입

자바스크립트에는 없고 타입스크립트에만 있는 타입
enum은 특정 값들의 집합을 의미하는 자료형

 

 

숫자형 enum

숫자형 enum은 각 멤버에 대해 숫자 값을 할당할 수 있는 열거형이다.
enum Direction {
    Up = 1,
    Down, //2
    Left, //3
    Right, //4
}
위 코드에서 Up 멤버에 값으로 1이 할당되고, 이후 멤버에는 값을 지정하지 않았기 때문에 1씩 증가하는 값들이 할당된다.

 

 

const direction: Direction = Direction.Up;
console.log(direction) //1

const downdirection: Direction = Direction.Down;
console.log(downdirection) //2
숫자형 enum을 사용할 때에 멤버들에 접근할 수 있다.
위에 코드처럼 접근하면 된다.

 

 

문자형 enum

문자형 enum은 각 멤버에 대해 명시적으로 문자열 값을 할당한 것
enum Color {
    Red = 'RED',
    Green = 'GREEN',
    Blue = 'BLUE',
}

 

 

const favoriteColor: Color = Color.Green;
console.log(favoriteColor) // 'GREEN'
문자형 enum을 사용할 경우 위 코드처럼 사용하면 된다.

 

 

복합 enum

복합 enum은 다른 열거형, 문자형, 숫자형 등의 탑입을 조합하여 멤버를 정의한 것
복합 enum은 가독성이 떨어질 수 있고 타입 안정성을 보장하기 어렵게 만들 수 있기 때문에 권장하지 않음
enum CharacteAndNumber {
    first = 1,
    yes = 'true',
}

const a:CharacteAndNumber = CharacteAndNumber.first
console.log(a) //1

 

728x90

댓글