Вопрос проверяет знание встроенных утилитарных типов TypeScript и умение применять их для трансформации типов в реальных проектах.
Utility Types — это набор встроенных обобщённых типов в TypeScript, которые позволяют легко создавать новые типы на основе существующих. Они решают типичные задачи трансформации типов без необходимости писать сложные условные конструкции вручную.
interface User {
id: number;
name: string;
email: string;
age: number;
}
// Pick: только имя и email
type UserContact = Pick<User, 'name' | 'email'>;
// Omit: все, кроме id
type UserWithoutId = Omit<User, 'id'>;
// Partial: все поля необязательны для обновления
type UpdateUser = Partial<User>;
// Record: словарь пользователей по id
type UserMap = Record<number, User>;Utility Types активно используются в реальных проектах для создания типов API-ответов, форм, состояний Redux и пропсов компонентов. Например, при работе с формами часто применяют Partial для типа данных формы, а при фильтрации полей — Pick или Omit.
Вывод: Utility Types — незаменимый инструмент для написания чистого и безопасного кода на TypeScript. Их стоит применять везде, где требуется гибкая работа с типами, чтобы избежать дублирования и повысить читаемость.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию