Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

바스키아

TypeScript Enum 본문

JS/TypeScript

TypeScript Enum

바스키아1 2019. 8. 29. 16:13

Enum 이 뭐냐고 찾아보면 열거형 이러고한다 열거형? 형을 쭉 나열한건가?

기본 구조를 봐보자

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
enum StarbuksGrade{
    WELCOME,
    GREEN,
    GOLD
}
 
function getDicount(v: StarbuksGrade): number {
    switch(v){
        case StarbuksGrade.WELCOME:
            return 0;
        case StarbuksGrade.GREEN:
            return 5;
        case StarbuksGrade.GOLD:
            return 10;
    }
}
console.log(getDicount(StarbuksGrade.GREEN));

열거된 형태를 enum으로 묶어서 StarbuckGrade를 불러서 StarbuckGrade. 해당 enum요소 이렇게사용한다.

console.log(getDicount(StarbuksGrade.GREEN));

이 콘솔은 node 에서 실행시키면 5라는 숫자를 반환한다. 

하지만 

console.log(StarbuksGrade.GREEN);

이거..건???  --> 1이 나온다. why?!?

 

enum StarbuksGrade{
    WELCOME,
    GREEN,
    GOLD
}

welcome 부터 차례대로 0, 1, 2, 숫자의 값이 순서대로 할당되어있다.

그럼 StarbuckGrade 자체를 콘솔로 찍어보면??

객체로 표현이 되어있네 ㅎㅎㅎ 위와 같이 설정이 되어있으니까 쓸곳이 분명 있을거야...아마도 분명 ㅜㅜ

console.log(StarbuksGrade["0"]);

요로케 찍어보면 WELCOME이 찍힐거야 ㅎㅎ

 

이 객체도 내가 원하는데로 만들어버리고싶어... .그렇다면???!?!?

 

enum StarbuksGrade{
    WELCOME = "WELCOME",
    GREEN = "GREEN",
    GOLD = "GOLD"
}

이걸 다시 콘솔로 찍어버려보면?

요론식으로 쓸수 있겠구만 ㅎㅎㅎㅎㅎ

 

키의 이름을 내 마음데로 수정이 되겠구만 숫자건 문자열이건~

enum 내용이 짧아서 맘에 드는구만 ㅎㅎ

'JS > TypeScript' 카테고리의 다른 글

TypeScript) tsconfig.ts 설정하기  (0) 2019.08.31
TypeScript 클래스 (Class Type)  (0) 2019.08.29
TypeScript 함수형 타입(function Type)  (0) 2019.08.29
TypeScript 인터페이스(Interface)  (0) 2019.08.29
TypeScript 기본타입  (0) 2019.08.29