타입스크립트/타입스크립트 고급

이넘

webmaster 2022. 10. 10. 23:42
728x90

이넘은 특정 값들의 집합을 의미하는 자료형이다. 타입스크립트에서는 문자형 이넘과 숫자형 이넘을 지원 한다.

숫자형 이넘

enum Shoes{
    Nike,
    Adidas
}

var myShoes = Shoes.Nike;
console.log(myShoes) //0 출력 //별도의 값을 입력하지 않으면 숫자형 이넘으로 취급한다.
  • 특정 값들의 집합을 의미하며, 별도의 값을 입력하지 않으면 숫자형 이넘으로 취급

문자형 이넘

enum Shoes {
    Nike = '나이키',
    Adidas = '아디다스',
}
var myShoes = Shoes.Nike;
console.log(myShoes) //나이키 출력 //별도의 값을 지정했기 때문에 해당 값으로 취긊한다.
  • 별도의 값을 입력해 주었기 때문에 해당 값으로 취급하고, 그 값을 출력하는 것을 확인할 수 있다.

이넘 활용 사례

/*
function askQuestion(answer: string){
    if(answer === 'yes'){
        console.log('정답입니다')
    }else if(answer === 'no'){
        console.log('오답입니다')
    }
}
askQuestion('yes')
askQuestion('예스') //다양한 형태로 값이 들어가면 안되지만 string일 경우 들어간다.
 */
enum Answer {
    YES = 'Yes',
    NO = 'No',
}
function askQuestion(answer: Answer){
    if(answer === Answer.YES){
        console.log('정답입니다')
    }else if(answer === Answer.NO){
        console.log('오답입니다')
    }
}
askQuestion(Answer.YES) //이렇게 사용하지 않으면 오류가 난다.
askQuestion(Answer.NO)
  • enum에서 제공되는 값만 사용할 수 있도록 제약하기 때문에 오류를 방지할 수 있다.
728x90

'타입스크립트 > 타입스크립트 고급' 카테고리의 다른 글

제네릭  (0) 2022.10.11
클래스  (1) 2022.10.11
연산자를 이용한 타입 정의  (0) 2022.10.10
타입 별칭  (0) 2022.10.10
인터페이스  (0) 2022.10.07