В чем разница между Omit и Pick

«В чем разница между Omit и Pick» — вопрос из категории TypeScript, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Omit и Pick — это утилиты TypeScript для работы с типами.

  • Pick создаёт новый тип, выбирая только указанные свойства из исходного типа:
type User = { id: number; name: string; age: number };
type UserName = Pick<User, 'name'>; // { name: string }
  • Omit создаёт новый тип, исключая указанные свойства:
type UserWithoutAge = Omit<User, 'age'>; // { id: number; name: string }

Разница: Pick оставляет только выбранные свойства, а Omit удаляет указанные, сохраняя остальные. Обе утилиты полезны для точного контроля над структурой типов.