TIL #16 Typescript - Enum [22.07.19]

Ellie·2022년 7월 19일
0

TodayILearned

목록 보기
16/24

Enum

enum은 typescript가 제공하는 기능으로, 열거형으로 이름이 있는 상수들의 집합을 정의한다. 그러니까 이름이 정해져 있는 상수들을 열거한 것들의 집합소라고 보면 된다.

상수들을 열거해놓으면 의도를 문서화하거나 구분되는 사례 집합을 더 쉽게 만들수 있다. typescript는 문자열, 숫자 기반의 열거형을 제공한다.

🔎 왜 Enum을 쓸까?

✔️ 그냥 자료형 타입만 정의해주기에는 범위가 너무 넓은 것 같을 때

enum은 추상화의 수단으로 자주 사용된다.
ex) 제품의 다국어 지원

물론 리터럴 타입과 유니온으로 변수의 범위를 좁혀줄 수 있다. 하지만 다른 곳에서 코딩을 할 때 유니온 타입이 정확이 어떤 것이었는지 기억이 잘 나지 않거나 어떤 타입들이 있었는지 기억이 안나는 상황이 생긴다. 그런 경우를 위해서 enum으로 리터럴의 타입과 값에 이름을 붙여서 정확히 명시해주는 것이다.

🔎 Enum과 객체의 차이

typescript에서 enum은 객체이다.
하지만 분명히 차이점이 있다.

객체는 속성을 자유롭게 변경할 수 있는데 반해 enum은 속성을 변경할 수 없다. 그리고 enum은 속성값으로 string이나 number밖에 올 수 없다.

profile
정말로 아는 것인지 항상 의심하기

0개의 댓글