내일배움캠프[4기_Reac트랙]/[원격]TS
5. enum 타입
ecoEarth
2023. 1. 16. 20:42
enum
- 자바스크립트에는 없고 타입스크립트에만 있는 타입이다.
- enum은 특정 값들의 집합을 의미하는 자료형
- enumeration의 단어 뜻과 같이 그냥 특정값들을 나열하는 타입이다.
숫자형 enum
enum Direction {
Up,
Down,
Left,
Right,
}
const up: Direction = Direction.Up;
// Direction = Direction.UP | Direction.Down | Direction.Left | Direction.Right
const leftOrRight: Direction.Left | Direction.Right = Direction.Left;
위의 예시에서 볼 수 있듯, 숫자형 enum은 마치 배열처럼 순서대로 숫자값을 가지고 있다.
enum Direction {
Up,
Down = 200,
Left,
Right,
}
console.log(Direction.UP, Direction.Down, Direction.Left, Direction.Right)
// 0, 200, 201, 202이 출력된다.
- 다음과 같이 숫자를 중간에 할당할 수도 있다.
enum Direction {
Up,
Down = 200,
Left,
Right,
}
console.log(Direction[2])
// 200이 출력된다. 이런식으로도 호출할 수 있다.
- 다음과 같이 배열같은 방식으로 호출할 수도 있다.
문자형 enum
enum Direction {
Up = "UP",
Down = "DOWN",
Left = "LEFT",
Right = "RIGHT",
}
복합 enum
enum BooleanLikeHeterogeneousEnum {
No = 0,
Yes = "YES",
}
// 권고하지 않음
- 숫자형 enum과 문자형 enum을 같이 사용할 경우 유지보수에 어려움이 있으므로 권고하지 않는 방식이다.