Tipos intrínsecos de manipulación de cadenas
Utilice Uppercase, Lowercase, Capitalize y Uncapitalize.
Tipos intrínsecos de manipulación de cadenas es una lección gratuita de TypeScript Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de TypeScript Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de TypeScript Academy incluye 4 lecciones en total.
Transformadores de cadenas integrados
TypeScript incluye cuatro tipos intrínsecos de manipulación de cadenas: Uppercase, Lowercase, Capitalize y Uncapitalize. Transforman tipos literales de cadena durante la compilación, sin ningún coste en tiempo de ejecución.
Uppercase
Uppercase<S> convierte cada carácter de un tipo literal de cadena a mayúsculas. El literal 'hello' se convierte en el tipo 'HELLO'.
type Loud = Uppercase<"hello"> // "HELLO"
const x: Loud = "HELLO"
console.log(x)Lowercase
Lowercase<S> hace lo contrario: convierte cada carácter a minúsculas. 'HELLO' se convierte en 'hello'.
type Quiet = Lowercase<"HELLO"> // "hello"
const x: Quiet = "hello"
console.log(x)Capitalize
Capitalize<S> convierte únicamente el primer carácter a mayúsculas y deja el resto intacto. 'name' se convierte en 'Name'.
type Title = Capitalize<"name"> // "Name"
const x: Title = "Name"
console.log(x)Uncapitalize
Uncapitalize<S> convierte únicamente el primer carácter a minúsculas. 'Name' se convierte en 'name'; resulta útil para convertir claves en PascalCase a camelCase.
type Camel = Uncapitalize<"Name"> // "name"
const x: Camel = "name"
console.log(x)Transformar una unión
Al aplicar un tipo intrínseco a una unión, este transforma cada miembro. Uppercase de 'a' | 'b' produce 'A' | 'B'.
type Keys = "id" | "name"
type Upper = Uppercase<Keys> // "ID" | "NAME"
const k: Upper = "ID"
console.log(k)Combinar con literales de plantilla
Los tipos intrínsecos son especialmente potentes dentro de los tipos literales de plantilla. Una plantilla que antepone get a Capitalize aplicado a un campo crea nombres de getters, como el getter del campo name.
type Field = "name" | "age"
// template: get + Capitalize<Field> => "getName" | "getAge"
const g: "getName" | "getAge" = "getName"
console.log(g)Construir nombres de claves en tipos mapeados
Dentro de la reasignación de claves de un tipo mapeado, los tipos intrínsecos generan nombres de propiedades transformados; por ejemplo, convierten cada propiedad en una clave de controlador con la primera letra en mayúscula.
type Events = "click" | "drag"
// { [E in Events as on + Capitalize<E>]: () => void }
// produces keys onClick and onDrag
const handlers: { onClick: () => void } = { onClick: () => {} }
console.log(typeof handlers.onClick)Encadenar tipos intrínsecos
Puede anidar tipos intrínsecos para combinar transformaciones. Por ejemplo, una combinación habitual es aplicar Capitalize a una cadena transformada con Lowercase para normalizar el uso de mayúsculas y minúsculas.
type Normalized = Capitalize<Lowercase<"hELLO">> // "Hello"
const x: Normalized = "Hello"
console.log(x)Solo durante la compilación
Estos tipos no existen en tiempo de ejecución. Para transformar un valor de cadena real, debe seguir llamando a métodos como toUpperCase(); los tipos intrínsecos solo determinan los tipos estáticos.
function shout<S extends string>(s: S): Uppercase<S> {
return s.toUpperCase() as Uppercase<S>
}
console.log(shout("hi")) // HI, typed as "HI"
Usos prácticos
Use los tipos intrínsecos para derivar nombres de constantes, claves de eventos, nombres de getters y setters, y para normalizar el uso de mayúsculas y minúsculas en claves de configuración con tipos literales; todo ello queda comprobado por el compilador.
type Action = "add" | "remove"
type ActionType = Uppercase<Action> // "ADD" | "REMOVE"
const a: ActionType = "ADD"
console.log(a)Comprobación rápida
Compruebe su comprensión de los tipos intrínsecos de cadenas.
Resumen
Los tipos intrínsecos Uppercase, Lowercase, Capitalize y Uncapitalize transforman tipos literales de cadena durante la compilación, se distribuyen sobre uniones y se pueden combinar con tipos literales de plantilla y tipos mapeados para construir nombres de claves y controladores. No tienen comportamiento en tiempo de ejecución; use métodos reales de cadenas para las transformaciones durante la ejecución, mientras estos tipos determinan los tipos estáticos.
Preguntas frecuentes
¿La lección «Tipos intrínsecos de manipulación de cadenas» es gratis?
Sí — el texto completo de «Tipos intrínsecos de manipulación de cadenas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de TypeScript Academy, actualiza a CoddyKit PRO. El curso de TypeScript Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Tipos intrínsecos de manipulación de cadenas»?
Utilice Uppercase, Lowercase, Capitalize y Uncapitalize. Practicas TypeScript Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar TypeScript Academy?
No se requiere experiencia previa. TypeScript Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Tipos intrínsecos de manipulación de cadenas»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de TypeScript Academy?
Sí. Cada lección de TypeScript Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Conceptos básicos de los tipos de literales de plantilla
- Modelado de cadenas estructuradas
- Uniones de cadenas y autocompletado
- Tipos intrínsecos de manipulación de cadenas