Что произойдёт при пересечении двух типов, если одноимённое поле имеет тип string в одном и number в другом?

Пересечение string и number даёт never, поэтому одноимённое обязательное поле станет недопустимым для обычного значения.

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

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

Пересечение string и number даёт never, поэтому одноимённое обязательное поле станет недопустимым для обычного значения.

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

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

Условие

Что произойдёт при пересечении двух типов, если одноимённое поле имеет тип string в одном и number в другом?

Ответ

Пересечение string и number даёт never, поэтому одноимённое обязательное поле станет недопустимым для обычного значения.

Для type X = { value: string } & { value: number } поле X['value'] имеет тип never: оно должно было бы одновременно удовлетворять обоим ограничениям. Не всякое такое пересечение автоматически сворачивается целиком в never; отдельные правила упрощения касаются, например, конфликтующих дискриминантов.

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

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

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

Подробнее