Объединение типов в TypeScript

Бывает так, что некоторая переменная может принимать значения разного типа. Вы уже знаете, что в этом случае можно объявить эту переменную с типом any.

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

В этом случае будет лучше разрешить переменной принимать только нужные типы. Это делается с помощью оператора объединения типов, представляющего собой вертикальную палочку.

Давайте с помощью этого оператора разрешим переменной быть или строкой, или числом:

let test: string | number;

Давайте проверим - запишем в переменную число:

test = 123;

А теперь запишем в нее строку:

test = 'abc';

А теперь запишем логическое значение:

test = true; // будет ошибка

Сделайте переменную, которая может быть либо числом, либо null.

Сделайте переменную, которая может быть либо числом, либо строкой, либо логической.