Типы шаблонных литералов: шаблоны строк
Объединяйте строковые объединения в типы-шаблоны
«Типы шаблонных литералов: шаблоны строк» — бесплатный урок TypeScript Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения TypeScript Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс TypeScript Academy содержит 4 уроков всего.
Добро пожаловать
Базовый тип шаблонного литерала
type Greeting = `Hello, ${string}`;
const g: Greeting = 'Hello, World'; // OK
// const bad: Greeting = 'Hi there'; // ErrorОбъединение вариантов
type Color = 'red' | 'green' | 'blue';
type Size = 'sm' | 'lg';
type ColorSize = `${Color}-${Size}`;
// 'red-sm' | 'red-lg' | 'green-sm' | ...Шаблон имён событий
type Entity = 'user' | 'product';
type EventName = `on${Capitalize<Entity>}Created`;
// 'onUserCreated' | 'onProductCreated'Capitalize и другие встроенные типы
type T = Capitalize<'hello world'>; // 'Hello world'
type U = Uppercase<'hello'>; // 'HELLO'
type L = Lowercase<'WORLD'>; // 'world'Шаблон создания методов-геттеров
type Getters<T> = {
[K in keyof T as `get${Capitalize<string & K>}`]: () => T[K]
};Типизированные параметры маршрутов
type RouteParams<T extends string> =
T extends `${infer _Start}:${infer Param}/${infer Rest}`
? Param | RouteParams<Rest>
: T extends `${infer _Start}:${infer Param}`
? Param
: never;Именование свойств CSS
type CSSVar = `--${string}`;
const color: CSSVar = '--primary-color'; // OKШаблонный литерал в параметрах функции
function emit<E extends `on${string}`>(event: E): void {
console.log('Emitting:', event);
}
emit('onClick'); // OK
// emit('click'); // Error — must start with 'on'Извлечение частей с помощью infer
type GetSuffix<T extends string> =
T extends `${infer _Prefix}_${infer Suffix}` ? Suffix : never;
type S = GetSuffix<'user_created'>; // 'created'Пересечение с Record
type Handlers<T extends string> = Record<`on${Capitalize<T>}`, () => void>;Быстрая проверка
Итоги
Часто задаваемые вопросы
Урок «Типы шаблонных литералов: шаблоны строк» бесплатный?
Да — полный текст урока «Типы шаблонных литералов: шаблоны строк» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс TypeScript Academy, подпишись на CoddyKit PRO. Курс TypeScript Academy содержит 4 уроков всего.
Чему я научусь в уроке «Типы шаблонных литералов: шаблоны строк»?
Объединяйте строковые объединения в типы-шаблоны Ты практикуешь TypeScript Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать TypeScript Academy?
Предыдущий опыт не требуется. TypeScript Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Типы шаблонных литералов: шаблоны строк»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке TypeScript Academy?
Да. Каждый урок TypeScript Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Отображаемые типы: преобразование типов объектов
- Модификаторы в отображаемых типах: readonly и ?
- Типы шаблонных литералов: шаблоны строк
- Переименование ключей с помощью as в отображаемых типах