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 | |