Вопрос проверяет знание утилитарных типов TypeScript для работы с объектными типами.
Pick, Omit и Partial — это утилитарные типы TypeScript для работы с объектными типами. Pick создает тип из выбранных свойств исходного типа. Omit создает тип, исключая указанные свойства. Partial делает все свойства типа необязательными.
TypeScript предоставляет несколько полезных утилитарных типов для манипуляции с объектными типами.
Pick:
Создает новый тип, выбирая только указанные свойства из исходного типа.
interface User {
id: number;
name: string;
email: string;
age: number;
}
type UserPreview = Pick<User, 'id' | 'name'>;
// Эквивалентно: { id: number; name: string; }Omit:
Создает новый тип, исключая указанные свойства.
type UserWithoutEmail = Omit<User, 'email'>;
// Эквивалентно: { id: number; name: string; age: number; }Partial:
Делает все свойства типа необязательными.
type PartialUser = Partial<User>;
// Эквивалентно: { id?: number; name?: string; email?: string; age?: number; }Практическое применение:
Pick для создания типов представлений (DTO)
Omit для исключения чувствительных данных
Partial для типов обновления (patch operations)