> Что такое объединение и пересечение типов в TypeScript (TypeScript)
Уровень: junior · Роль: frontend · Категория: Технические вопросы
Компании: Инрэко, ООО Премиум ИТ Солюшен, SmartWay
Стек: TypeScript
> Пример ответа
Объединение типов (Union Types) и пересечение типов (Intersection Types) - это два фундаментальных механизма композиции типов в TypeScript.
Объединение (Union) обозначается символом | и означает, что значение может быть одним из перечисленных типов. Например, string | number - переменная может быть либо строкой, либо числом. На практике это часто используется для обработки опциональных значений или разных форматов данных. При работе с объединением TypeScript сужает тип через контроль потока (type narrowing), например, с помощью typeof или проверок.
TYPESCRIPTfunction formatId(id: string | number) {if (typeof id === 'string') {return id.toUpperCase(); // здесь id - string}return id.toFixed(2); // здесь id - number}
Пересечение (Intersection) обозначается символом & и означает, что значение должно удовлетворять всем перечисленным типам одновременно. По сути, это объединение свойств нескольких типов в один. Чаще всего применяется для комбинирования объектов или расширения интерфейсов без наследования.
TYPESCRIPTinterface HasName { name: string }interface HasAge { age: number }type Person = HasName & HasAge; // должен иметь и name, и ageconst user: Person = { name: 'Alice', age: 30 }; // корректно
Ключевое различие: объединение - это "или" (любой из), пересечение - это "и" (все сразу).
> Похожие задачи по frontend
Что такое keyof в TypeScript и для чего он используется
Что такое декораторы в TypeScript и для чего они используются
Что такое enum в TypeScript
Что такое utility types в TypeScript, например Partial и DeepPartial
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью