본문 바로가기
Type script

Enum Type

by 헤이봄봄 2021. 4. 17.

여러가지 관련된 상수값들을 한곳에 모아서 관리할수있게 도와주는 타입

javascript에는 enum타입들이 존재하지않기때문에 타입스크립트에서 자체적으로 제공한다.

 

 

  javascript  

* javascript에서 고정된 상수값을 나타낼때 대문자로 표기

 

관련된 요일의 상수를 정의하는 경우 서로 연관되어있긴하지만 이것들을 묶을 수 있는 타입이 따로 존재하지않음

 

최대한 Enum에 가깝게 표현할수 있는 방법↓

freeze 라는 API를 통해 정의할 수 있음

 

 

  type script  

Enum 타입 정의할 경우 첫글자만 대문자로 써줌

 

Enum에 값을 정하지않으면, 자동으로 0부터 값이 주어지게 됨

 

0부터 주어지는게 싫으면 첫번째 키에 다른 숫자를 값으로 지정하여 넣어주면되고

그럼 그 숫자로부터 1씩 증가하는 형태로 값이 할당됨

문자열로 값을 설정할 수도 있음. 문자열은 자동으로 할당되지않기때문에 수동으로 다 입력해주어야함 

 

😮하지만 Enum의 사용을 추천하지않는 이유 ! 

enum으로 설정한 변수에 다른 어떤 숫자도 할당할 수 있기때문  

 

하여 type script 에서는 enum대신 union 타입을 사용하는것이 안전함

 

union 타입으로 지정된 것들 외에 다른 것을 지정하려고 할 경우, 에러가 나기때문에 지정된 것들만 사용할수 있게 해줌

 

다른 모바일 클라이언트와 의사소통할 필요가 없다면 

대부분의 경우 enum 타입을 union 타입으로 대체하여 사용하는게 좋음 

'Type script' 카테고리의 다른 글

type assertion  (0) 2021.04.17
타입추론 type inference  (0) 2021.04.17
Intersection Type  (0) 2021.04.15
Union Type  (0) 2021.04.15
Type Aliases  (0) 2021.04.15

댓글