TypeScript имеет ряд служебных типов, которые можно использовать для изменения существующих типов. Двумя из этих типов утилит являются Omit и Pick.
Пропустить
Тип Omit используется для создания нового типа, который опускает указанные свойства из существующего типа. Например, следующий код создает новый тип с именем UserWithoutId
, в котором отсутствует свойство id
из типа User
:
interface User { id: number; name: string; email: string; } type UserWithoutId = Omit<User, "id">;
Тип UserWithoutId
можно использовать для создания нового объекта User
, не имеющего свойства id
.
Выбрать
Тип Pick используется для создания нового типа, который включает только указанные свойства из существующего типа. Например, следующий код создает новый тип с именем UserNameEmail
, который включает только свойства name
и email
из типа User
:
interface User { id: number; name: string; email: string; } type UserNameEmail = Pick<User, "name", "email">;
Тип UserNameEmail
можно использовать для создания нового объекта User
, который имеет только свойства name
и email
.
Когда использовать Omit and Pick
Типы Omit и Pick можно использовать в различных ситуациях. Например, их можно использовать для:
- Создайте новый тип, который является более конкретным, чем существующий тип.
- Создайте новый тип, который будет проще использовать с определенной библиотекой или фреймворком.
- Уменьшите размер типа, удалив неиспользуемые свойства.
Заключение
Типы Omit и Pick — это мощные служебные типы, которые можно использовать для изменения существующих типов в TypeScript. Их можно использовать в различных ситуациях для создания новых типов, более специфичных, простых в использовании или меньших по размеру.