me_edu
TypeScript для начинающихШаг 15 из 31 · 0% пройдено
Объединения и литеральные типы · Объединения и литеральные типы

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

Шаг 15 из 317 минТеория
Цель

Понять основной механизм темы «Объединения типов (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): по проверкам компилятор уточняет, какой именно тип сейчас.

Назад

Обсуждение

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

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