Как работают шаблонные литеральные типы (template literal types) в TypeScript?

Вопрос проверяет знание одной из новейших функций TypeScript, позволяющей работать с типами, используя шаблонные строки.

Короткий ответ

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

Длинный ответ

Шаблонные литеральные типы в TypeScript позволяют комбинировать строковые литералы и другие типы для создания новых строковых типов. Это полезно для построения гибких, но типизированных строковых шаблонов. Такие типы могут быть полезны для создания URI-маршрутов, наименований полей или команд с динамическими частями, но при этом сохраняющих строгую типизацию.

 

Пример:

type Route = `/users/${string}`;

let validRoute: Route = '/users/john'; // правильно
let invalidRoute: Route = '/posts/john'; // ошибка: строка не соответствует шаблону

Здесь тип Route описывает допустимые маршруты, начинающиеся с /users/, после чего может следовать любая строка.

Уровень

  • Рейтинг:

    4

  • Сложность:

    7

Навыки

  • TypeScript

    TypeScript

Подпишись на React Developer в телеграм