Если объект должен одновременно содержать поля всех трёх типов, используют пересечение A & B & C, а не union A | B | C.
Даны три новых типа. Нужно создать новый тип на их основе, который удовлетворяет условию (содержит все поля приведённых типов, тип-объединение). Какой подход использовать?
Если объект должен одновременно содержать поля всех трёх типов, используют пересечение A & B & C, а не union A | B | C.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Если объект должен одновременно содержать поля всех трёх типов, используют пересечение A & B & C, а не union A | B | C.
Union означает один из вариантов и не гарантирует наличие всех полей. В пересечении одноимённые свойства должны быть совместимы, иначе их тип может стать never. Если задача подразумевает необязательные поля или приоритет при конфликте, нужен другой контракт.