Пересечения типов: A и B
Объединяйте типы с помощью &, чтобы слить их свойства
«Пересечения типов: A и B» — бесплатный урок TypeScript Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения TypeScript Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс TypeScript Academy содержит 4 уроков всего.
Добро пожаловать
Базовый синтаксис пересечения
type Named = { name: string };
type Aged = { age: number };
type Person = Named & Aged;
const alice: Person = { name: 'Alice', age: 30 };Обязательны все свойства
type A = { x: number };
type B = { y: number };
type AB = A & B;
// const p: AB = { x: 1 }; // Error — missing yОбъединение типов объектов
type Serializable = { serialize(): string };
type Loggable = { log(): void };
type Service = Serializable & Loggable;Пересечение и расширение
// Interface extend:
interface C extends A, B {}
// Intersection type:
type D = A & B;
// Both give the same shape for simple objectsПересечение конфликтующих типов
type X = { id: string };
type Y = { id: number };
type XY = X & Y;
// XY.id is string & number = never — impossible!Пересечение в параметрах функции
function process(item: Serializable & Loggable): void {
item.log();
console.log(item.serialize());
}Шаблон миксинов с пересечениями
type Timestamped<T> = T & { createdAt: Date };
type User = Timestamped<{ name: string; email: string }>;Пересечения примитивов сводятся к типу без значений
type T = string & number; // never — a value can't be bothПересечение и объединение: ключевое различие
Использование пересечений с обобщениями
type WithId<T> = T & { id: number };
const user: WithId<{ name: string }> = { id: 1, name: 'Alice' };Быстрая проверка
Повторение
Часто задаваемые вопросы
Урок «Пересечения типов: A и B» бесплатный?
Да — полный текст урока «Пересечения типов: A и B» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс TypeScript Academy, подпишись на CoddyKit PRO. Курс TypeScript Academy содержит 4 уроков всего.
Чему я научусь в уроке «Пересечения типов: A и B»?
Объединяйте типы с помощью &, чтобы слить их свойства Ты практикуешь TypeScript Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать TypeScript Academy?
Предыдущий опыт не требуется. TypeScript Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Пересечения типов: A и B»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке TypeScript Academy?
Да. Каждый урок TypeScript Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Объединения типов: A или B
- Пересечения типов: A и B
- Размеченные объединения для безопасного сопоставления с шаблонами
- Практические шаблоны с объединениями и пересечениями