Featured image of post Template Literal Types en TypeScript: Manipulación de tipos de cadenasFeatured image of post Template Literal Types en TypeScript: Manipulación de tipos de cadenas

Template Literal Types en TypeScript: Manipulación de tipos de cadenas

Learn how to use TypeScript Template Literal Types to dynamically combine string literal types, enforcing safe CSS class names and API endpoints.

Los Template Literal Types (TS 4.1+) permiten manipular tipos de cadenas en tiempo de compilación. Usan la misma sintaxis que los template literals de JavaScript pero con tipos.

Sintaxis

type EventName = `on${Capitalize<string>}`;
// 'onChange' | 'onClick' | 'onSubmit' ...

Tipos de manipulación de cadenas

Uppercase<T>, Lowercase<T>, Capitalize<T>, Uncapitalize<T>. Combinables para crear patrones de nomenclatura.

Inferencia en template literals

type ExtractRoute<T> = T extends `/api/${infer R}` ? R : never;
type R = ExtractRoute<'/api/users'>; // 'users'

Casos de uso avanzados

Mapeo evento-manejador, tipado de rutas de API, traducciones tipadas, CSS-in-JS con props de tema, generación de tipos a partir de recursos.