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
'TIL' 카테고리의 다른 글
155. [TypeScript] TS + React 이벤트 타입 지정 TIL 23.05.18 (0) | 2023.05.18 |
---|---|
154. [TypeScript] 함수타입 TIL 23.05.15 (0) | 2023.05.15 |
153. [TypeScript] 기본타입 TIL.23.05.10 (0) | 2023.05.10 |
152. [TypeScript] TS 설치하기 TIL 23.05.09 (0) | 2023.05.09 |
151. [TypeScript] TypeScript란? TIL 23.05.08 (0) | 2023.05.08 |
댓글