me_edu
TypeScript для начинающихШаг 20 из 35 · 0% пройдено
2. Профессиональный практикум: проект, качество и портфолио
3. Атлас программных моделей: данные, архитектура, API и тесты
Объединения и литеральные типы

Объединения типов (union)

Шаг 20 из 357 минТеория
Цель

Понять основной механизм темы «Объединения типов (union)» без заучивания отдельных терминов.

Как работать

Прочитайте блок один раз целиком, затем вернитесь к схеме или примеру и перескажите идею своими словами.

Критерий

Сформулированное правило, пример применения и одно ограничение метода.

STRUCTURAL BLOCK DIAGRAMCENTRAL UNITnumber | stringnumberstringСтруктурная схемастрелки показывают поток данных/энергиимасштаб и расположение условные
Объединение: значение принадлежит одному из перечисленных типов
Опорная идея

Иногда значение может быть одного из нескольких типов. Это описывают объединением через вертикальную черту:

let id: number | string; id = 42; // ок id = "abc-1"; // тоже ок id = true; // ошибка

Объединения часто встречаются, когда данные приходят в разном виде или поле может отсутствовать:

function format(value: number | null): string { if (value === null) return "нет данных"; return value.toFixed(2); }

Заметьте: внутри ветки if (value === null) TypeScript понимает, что дальше value — точно число, и разрешает вызвать у него числовой метод. Это называют сужением типа (narrowing): по проверкам компилятор уточняет, какой именно тип сейчас.

Назад

Обсуждение

Войдите, чтобы участвовать в обсуждении.

Пока нет сообщений.