Найти в Дзене
jsbook.ru

Typescript: псевдонимы типов

В предыдущей статье мы научились использовать литералы типов в TypeScript.

Кратко: литералы типов позволяют нам использовать значения различных типов в качестве type.

Выглядит это так:

pet имеет тип 'cat', поэтому она в качестве значения может принимать только значение 'cat'. При попытке использования иного значения возникнет ошибка.

Строковые литералы сами по себе не очень то и полезны, пока они не объединены с Union Types подобным образом:

-2

Переменная pet теперь может принимать значения 'cat' или 'dog' потому что мы использовали Union Type.

Но само по себе pet это не тип, а переменная. Если мы попытаемся использовать ее в качестве типа, то получим ошибку:

-3

Чтобы использовать тип 'cat' | 'dog' снова нам придется прописывать это снова и снова. А что если у нас более двух переменных? Понимаете к чему все идет? скучный повторяющийся код. Но, к счастью, существует решение. Мы можем создать наш собственный тип используя ключевое слово type чтобы создать новый тип. Давайте отрефакторим код и создадим новый тип с названием pet:

-4

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

В нашем примере мы использовали строковое значение, но оно может быть абсолютно любым:

-5