# Тип строкового литерала в TypeScript

С помощью оператора объединения типов можно объединять не только встроенные типы, но и строки. Для примера сделаем так, чтобы переменная могла принимать только одно из двух строковых значений:

`let str: 'success' | 'error';`

Давайте проверим. Запишем переменную одну из строк:

`str = 'success';`

Запишем вторую:

`str = 'error';`

А вот попытка записать иную строку приведет к ошибке:

`str = 'eee'; // ошибка`

Сделайте так, чтобы переменная могла принимать одно из трех значений: `'error'`, `'warning'` или `'success'`.

## Псевдонимы

Для объединения строк можно ввести свой тип. Давайте сделаем это:

`type message = 'success' | 'error';`

Объявим переменную с нашим новым типом:

`let str: message;`

Запишем в эту переменную какое-нибудь значение:

`str = 'success';`

Сделайте тип данных, который будет разрешать переменной принимать одно из трех значений: `'error'`, `'warning'` или `'success'`.

←→
↑