File tree Expand file tree Collapse file tree 2 files changed +9
-24
lines changed
Expand file tree Collapse file tree 2 files changed +9
-24
lines changed Original file line number Diff line number Diff line change 1- // Record<K,T> : Record는 다른 유틸리티 타입과 단리 key와 type을 가지고 있다.
2- //User와 같이 key값을 활용해서 유니온 타입으로 사용할 수 있지만 GradeRecord, ScoreRecord와 같이 key와 type을 따로 지정해서 사용할 수도 있다.
1+ // Pick<K,T> : Pick은 내가 원하는 Type만 가지고 와서 사용할 수 있다.
32import {
4- ScoreFor , GradeRecord ,
5- ScoreRecord ,
6- User
3+ GradeType , ScoreType , User
74} from "./utils/data.interface"
85
9- const score : Record < GradeRecord , ScoreRecord > = {
10- 1 : 'A' ,
11- 2 : 'B' ,
12- 3 : 'C' ,
13- 4 : 'D' ,
14- } ;
15-
16- //응용
17-
18- function isValid ( user : User ) {
19- const result : Record < keyof User , boolean > = {
20- id : user . id > 0 ,
21- name : user . name !== "" ,
22- age : user . age > 0 ,
23- } ;
24- return result ;
6+ const admin : Pick < User , "id" | "name" > = {
7+ id : 0 ,
8+ name : 'Bob' ,
259}
Original file line number Diff line number Diff line change @@ -80,14 +80,15 @@ export interface User {
8080 id : number ;
8181 name : string ;
8282 age : number ;
83+ gender : "M" | "F"
8384}
8485
85- export interface ScoreFor {
86+ export interface ScoreTemp {
8687 '1' : 'A' | 'B' | 'C' | 'D' ;
8788 '2' : 'A' | 'B' | 'C' | 'D' ;
8889 '3' : 'A' | 'B' | 'C' | 'D' ;
8990 '4' : 'A' | 'B' | 'C' | 'D' ;
9091}
9192
92- export type GradeRecord = '1' | '2' | '3' | '4' ;
93- export type ScoreRecord = 'A' | 'B' | 'C' | 'D' ;
93+ export type GradeType = '1' | '2' | '3' | '4' ;
94+ export type ScoreType = 'A' | 'B' | 'C' | 'D' ;
You can’t perform that action at this time.
0 commit comments