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

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

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

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

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

`let test: string | number;`

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

`test = 123;`

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

`test = 'abc';`

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

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

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

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

←→
↑