Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Archives
Tags
- vue
- db
- 조건문
- 연산자
- HTML
- 자바 환경변수
- Heidi
- javascript
- Openjdk
- 웹디자인 기능사
- CSS
- 전자정부프레임워크
- 자바
- Display
- DropDown
- mysql
- overflow
- position
- switch
- float
- clear
- do while
- react
- 자료형
- To Do List
- JS
- Break Continue
- java
- 로또 번호 생성
- 자바 기초
- Today
- Total
잠온다
TS) Enum, typeof, keyof 본문
1. 숫자형 이넘

숫자형 이넘을 선언할 때 초기 값을 주면 초기 값부터 차례로 1씩 증가한다.

초기 값을 주지 않는다면 0부터 차례로 1씩 증가한다.
2. 문자형 이넘

숫자형 이넘과 달리 모두 값을 줘야한다는 불편함이 있지만, 런타임 과정에서 가끔 불명확한 값이
나올 가능성이 있는 숫자형 이넘과 달리 문자형 이넘은 항상 명확한 값이 나와 읽기 편하다.
3. 복합 이넘

여러 타입의 값을 줄 수도 있지만 권장하지 않는 방법이다.
4. typeof

변수에 담긴 객체는 당연히 타입 자체가 될 수 없다. 하지만 위와 같이 typeof 를 사용하면 객체를 타입으로 사용할 수 있다.

객체 외에도 함수 또한 typeof 를 통해 타입으로 사용할 수 있다.
5. keyof

keyof 는 객체 형태의 타입을 속성만 따로 뽑아내어 유니온 타입으로 만들어주는 연산자다.
6. 런타임 시점에서 이넘의 특징

이넘은 런타임 시에는 실제 객체 형태로 존재한다. 때문에 위 코드 또한 정상적으로 동작한다.
하지만 컴파일 시점에서의 이넘은 객체가 아니므로 keyof 를 사용할 때는 대신 keyof typeof 를 사용해야 한다.
'Typescript' 카테고리의 다른 글
TS) Typescript로 HTML 변경 및 조작할 때 주의점 (0) | 2022.05.30 |
---|---|
TS) Literal Types / as const (0) | 2022.05.28 |
TS) type alias / readonly / object 옵션 / type 키워드 합치기 (0) | 2022.05.28 |
TS) 함수 타입 지정 및 Type Narrowing (0) | 2022.05.28 |
TS) 기본 타입 및 union, any, unknown type (0) | 2022.05.28 |