Как объединить поля трёх типов в TypeScript

Используйте пересечение: type Delivery = Address & Contact & Parcel. Объект этого типа обязан соответствовать каждому из трёх исходных типов.

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

Что ответить на собеседовании

Используйте пересечение: type Delivery = Address & Contact & Parcel. Объект этого типа обязан соответствовать каждому из трёх исходных типов.

Подробный разбор

Ответ с пояснениями

Условие

Даны type Address = { city: string }; type Contact = { phone: string }; type Parcel = { weight: number }. Создайте Delivery, требующий все три поля.

Ответ

Используйте пересечение: type Delivery = Address & Contact & Parcel. Объект этого типа обязан соответствовать каждому из трёх исходных типов.

Пример: const delivery: Delivery = { city: 'Омск', phone: '+70000000000', weight: 2 }. Объединение через | означало бы альтернативы, а не требование всех полей. Если два типа задают одно поле несовместимыми типами, пересечение может сделать его невозможным для заполнения; такие конфликты нужно разрешать явно.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее