유틸리티 타입 2 (Pick, Omit)
Pick은 마트 진열대에서 원하는 물건만 카트에 골라 담는(Pick) 기능이며, Omit은 장바구니에서 원하지 않는 물건만 버리고 나머지를 다 가져가는 기능입니다.
interface User {
id: string;
name: string;
age: number;
email: string;
}
// 1. Pick<T, K>: 엄청 큰 객체에서 내가 원하는 속성만 쏙 빼서 새 타입 생성
type UserPreview = Pick<User, "name" | "email">;
// 결과: { name: string; email: string; }
// 2. Omit<T, K>: 특정 속성만 지우고 나머지는 전부 가져옴
type UserWithoutId = Omit<User, "id">;
// 결과: { name: string; age: number; email: string; }