일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 부모패딩
- 문제해결
- accordian
- parent padding
- Carousel
- ㅡ
- 부모요소의 패딩 무시
- 조건부스타일
- createPortal
- useQueryClient
- tailwindCSS
- es6
- 서초구보건소 #무료CPR교육
- twoarrow
- react
- vite
- BlockFormattingContext
- transition
- DOM
- 화살표2개
- 제어컴포넌트
- 함수형프로그래밍
- ?? #null병합연산자
- 리액트
- BFC
- CustomHook
- QueryClient
- ignore padding
- debouncing
- alias설정
Archives
- Today
- Total
프론트엔드 첫걸음
object를 enum처럼 사용하기 본문
const enum EDirection {
Up =3,
Down,
Left,
Right,
}
function enumWalk(dir: EDirection) {}
enumWalk(EDirection.Down);
const ODirection = {
Up: 0,
Down: 1,
Left: 2,
Right: 3,
} as const
//type ODirectionKey = "Up" | "Down" | "Left" | "Right"
// 객체의 키만 뽑아서 타입으로 만듦
//type ODirectionKey = keyof typeof ODirection;
// 객체 자체가 타입 -> enum처럼 사용가능
type Key = typeof ODirection[keyof typeof ODirection] ;
function objectRun(dir: Key) {}
objectRun(0)
objectRun(ODirection.Down)
objectRun(1)
as const 를 사용하면 이 객체를 그대로 타입으로 사용하겠다는 뜻이 됩니다.
그래서 타입으로 그 객체 그대로 제시해줍니다.
as const 없애면 타입이 객체의 값 그대로 저장되지 않는다. 타입이 number로 범위가 커진다.
as const 를 넣어서 타입의 범위를 좁혀주는것이 좋다.
제로초 강의
'개발 공부 > Typescript' 카테고리의 다른 글
웹스톰 타입스크립트 파일 실행하기 (0) | 2024.04.27 |
---|---|
type void (0) | 2024.02.23 |
객체 리터럴의 추가 속성 검사 (0) | 2024.02.23 |