객체의 일부 속성만을 포함한 부분 객체를 허용
interface Rectangle{
width: number;
height: number;
}
let rectPart: Partial<Rectangle> = {};
rectPart.width = 100;
console.log(rectPart); // { width: 100 }
원 객체의 모든 속성을 필수로 한 완전 객체 생성
interface Car{
company: string,
model: string,
mileage?: number, // 옵셔널이지만
}
let myCar: Required<Car> = {
company: 'KIA',
model: 'K5',
mileage: 20, // 안 넣으면 컴파일 에러
}
심플한 키-값 쌍, Map과 유사
const nameAndAge: Record<string, number> = {
'John' : 20,
'Jane' : 24,
}
객체 타입에서 특정 속성을 제거한 객체 생성
interface Rectangle{
width: number;
height: number;
}
const ractOmit: Omit<Rectangle, 'height'> = {
width: 40,
}
Omit과 반대로 지정한 속성을 제외한 나머지 속성을 제거
interface Rectangle{
width: number;
height: number;
}
const ractPick = Pick<Rectangle, 'height'> = {
height: 40,
}