<ts> enum

김민석·2021년 7월 11일
1

Typescript

목록 보기
2/2

타입 스크립트의 장점 중 하나는 enum을 사용할 수 있게 된다.

숫자형 이넘

기본 값

타입 스크립트 enum에서 별도의 값을 지정하지 않으면 숫자형 이넘이 되며 아래와 같이 0부터 차례대로 값을 할당받게 된다.

enum Shoes{
  Nike,
  Adidas
}

Shoes.Nike //0
Shoes.Adidas //1

직접 값을 할당하는 방법

이넘을 정의할 때 각 값에 대해 직접 값을 할당해주면 된다.

enum Shoes{
  Nike = 10000,
  Adidas = 20000
}

Shoes.Nike //10000
Shoes.Adidas //20000

문자형 이넘

enum Shoes{
  Nike = '나이키',
  Adidas = '아디다스'
}

Shoes.Nike //나이키
Shoes.Adidas //아디다스

이넘 활용

정의한 이넘은 타입처럼 사용할 수 있다. 아래 예시를 보자.

enum Answer{
  Yes = "yes",
  No = "no"
}

function processAnswer(answer: Answer) {
  if (answer === Answer.Yes) {
    console.log("NICE~");
  }else if (answer === Answer.No) {
    console.log("WHY ?");
  }
}

//string은 에러를 나타내게 된다. 
//이넘에서 제공하는 데이터만 전달할 수 있게 된다.
processAnswer(Answer.Yes);

예시를 보면 processAnswer라는 함수의 인자로 전달할 answer의 타입을 string으로 할수도 있지만 Answer로 제한해주고 있는 모습니다. 이렇게 타입을 지정해줄 경우 조건문에 따라 특정 로직을 실행하는 등의 작업이 좀 더 명확해진다.

profile
누구나 실수 할 수 있다고 생각합니다. 다만 저는 같은 실수를 반복하는 사람이 되고 싶지 않습니다. 같은 실수를 반복하지 않기 위해 기록하여 기억합니다.🙃

0개의 댓글