Перейти к основному содержимому
Об авторе
Проекты
Знания
Знания/TypeScript/union-intersection

Какая разница между объединением типов (`A | B`) и пересечением типов (`A & B`)?

СобеседованиеИнтерфейсы и типы
  • Union (A | B) — значение одного из вариантов; нужен narrowing для доступа к специфичным свойствам.
  • Intersection (A & B) — значение должно удовлетворять всем вариантам одновременно (объединение свойств/контрактов).
  • Пересечение несовместимых примитивов даёт never: string & number → never
  • Union распределяется в условных типах (distributive conditional types)
  • Исчерпывающие проверки (exhaustiveness) используют never для union
  • Главная
  • Об авторе
  • Проекты
  • Знания
Логотип nKolmykov