Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про TypeScript: TypeScript, Utility Types, Pick, Omit, Partial, type transformation

Какие Utility Types использовались на практике (Pick, Omit, Partial и др.)?

Вопрос проверяет знание встроенных утилитарных типов TypeScript и умение применять их для трансформации типов в реальных проектах.

Короткий ответ

Utility Types — это встроенные в TypeScript обобщённые типы, которые упрощают манипуляции с типами. Например, Pick создаёт тип с выбранными ключами из T, Omit исключает указанные ключи, а Partial делает все поля необязательными. Они помогают избежать дублирования кода и делают типы более гибкими.

Длинный ответ

Что такое Utility Types?

Utility Types — это набор встроенных обобщённых типов в TypeScript, которые позволяют легко создавать новые типы на основе существующих. Они решают типичные задачи трансформации типов без необходимости писать сложные условные конструкции вручную.

Основные Utility Types

  • Pick<T, K> — выбирает из типа T только те свойства, ключи которых перечислены в K. Полезно, когда нужно взять подмножество полей объекта.
  • Omit<T, K> — исключает из типа T свойства с ключами из K. Удобно для удаления полей, например, при создании типа без идентификатора.
  • Partial<T> — делает все свойства типа T необязательными. Часто используется для обновления части объекта.
  • Required<T> — делает все свойства обязательными, противоположность Partial.
  • Readonly<T> — делает все свойства только для чтения.
  • Record<K, T> — создаёт тип объекта с ключами из K и значениями типа T.

Примеры использования

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

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    4

  • Сложность:

    4

Навыки

  • TypeScript

    TypeScript

Ключевые слова

#TypeScript

#Utility Types

#Pick

#Omit

#Partial

#type transformation

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию