Используйте пересечение: type Delivery = Address & Contact & Parcel. Объект этого типа обязан соответствовать каждому из трёх исходных типов.
Как объединить поля трёх типов в TypeScript
Используйте пересечение: 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 }. Объединение через | означало бы альтернативы, а не требование всех полей. Если два типа задают одно поле несовместимыми типами, пересечение может сделать его невозможным для заполнения; такие конфликты нужно разрешать явно.