Проверяет знание TypeScript для создания нового типа на основе существующего с исключением определённых полей.
В TypeScript часто возникает ситуация, когда нужно создать новый тип на основе существующего, но исключив некоторые поля. Вместо того чтобы вручную переписывать весь интерфейс, можно использовать встроенный утилитарный тип Omit. Он принимает два параметра: исходный тип и объединение ключей, которые нужно исключить.
Предположим, у нас есть интерфейс пользователя с паролем, который не должен передаваться на клиент:
interface User {
id: number;
name: string;
email: string;
password: string;
}
// Создаём тип без поля password
type PublicUser = Omit<User, 'password'>;
// Теперь PublicUser содержит только id, name, email
const user: PublicUser = {
id: 1,
name: 'Alice',
email: 'alice@example.com'
};Тип Omit реализован как комбинация Pick и Exclude. Он берёт все ключи исходного типа, исключает указанные, а затем выбирает только оставшиеся поля. Это позволяет гибко манипулировать типами без дублирования кода.
Omit особенно полезен при работе с API, где нужно скрыть чувствительные данные, или при создании частичных версий объектов для форм редактирования. Он помогает поддерживать типовую безопасность и избегать ошибок при изменении исходного интерфейса.
Вывод: Используйте Omit для создания производных типов с исключением полей, когда нужно переиспользовать существующую структуру, но с ограничениями. Это улучшает поддерживаемость кода и уменьшает дублирование.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию