반응형
interface Profile{
name:string;
phone:number;
married:boolean
}
const devbit:Profile={
name:"devbit",
phone:123,
married:false
}
// Partial
type PartialSample<T> ={
[key in keyof T]?:T[key]
}
const devbitPartial: PartialSample<Profile>={
name:"devbit",
phone:123,
}
// Pick
type PickSample<T,U extends keyof T>={
[key in U]:T[key]
}
const devbitPick:PickSample<Profile,"name"|"phone">={
name:"devbit",
phone:123
}
// Omit
type OmitSample<T,U extends keyof any>=Pick<T,Exclude<keyof T,U>>
const devbitOmit:OmitSample<Profile,"phone">={
name:"devbit",
married:false,
}
https://www.typescriptlang.org/docs/handbook/utility-types.html
반응형