Union, Intersection¶
Чем в TypeScript можно заменить наследование? Как указать сразу диапазон типов? Ответы на эти вопросы вы сможете получить, прочитав до конца данную главу.
Тип Объединение¶
Объединение (Union
) - это мощный механизм, позволяющий создавать из множества существующих типов логическое условие, по которому данные могут принадлежать только к одному из указанных типов. Объединение указывается с помощью оператора прямой черты |
, по обе стороны которой располагаются типы данных.
1 |
|
Переменной, которой был указан тип объединения A
или B
или C
, может быть присвоено значение, принадлежащее к одному из трех типов.
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Поскольку значение может принадлежать ко множеству порой несовместимых типов, компилятор, без вмешательства разработчика, то есть без конкретизации типа, определяет принадлежность значения к типу, который наделен общими для всех типов признаками.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
|
Тип Пересечение (Intersection Type)¶
Пересечение (Intersection
) — ещё один мощный механизм TypeScript, который позволяет рассматривать множество типов данных как единое целое. Пересечение указывается с помощью оператора амперсанда &
, по обе стороны которого указываются типы данных.
1 |
|
Переменной, которой был указан тип пересечение A
и B
и С
, должно быть присвоено значение, принадлежащее к типам A
и B
и C
одновременно. Другими словами, значение должно обладать всеми обязательными признаками каждого типа, определяющего пересечение.
1 2 3 4 5 6 7 8 9 10 11 |
|