0Pricing
TypeScript Academy · Lección

Reasignación de claves con as en tipos mapeados

Cambie el nombre de las claves durante la transformación de tipos.

Reasignación de claves con as en tipos mapeados 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.

Bienvenida

TypeScript 4.1 añadió la cláusula `as` en los tipos mapeados, lo que permite reasignar (cambiar el nombre de) las claves como parte de la transformación del tipo.

Reasignación básica de claves

Añada `as NewKeyType` después de la variable de clave para reasignarla a un nombre nuevo.
type Prefixed<T> = {
  [K in keyof T as `prefix_${string & K}`]: T[K]
};
type P = Prefixed<{ name: string }>;
// { prefix_name: string }

Filtrado de claves con never

Devuelva never desde la cláusula `as` para eliminar esa clave del tipo resultante.
type OnlyStrings<T> = {
  [K in keyof T as T[K] extends string ? K : never]: T[K]
};

Generación de nombres de getters

Use Capitalize con tipos de literales de plantilla para generar nombres de métodos getter.
type Getters<T> = {
  [K in keyof T as `get${Capitalize<string & K>}`]: () => T[K]
};
type UserGetters = Getters<{ name: string; age: number }>;
// { getName: () => string; getAge: () => number }

Generación de nombres de setters

Genere de forma similar los nombres de setter de las propiedades de un tipo.
type Setters<T> = {
  [K in keyof T as `set${Capitalize<string & K>}`]: (val: T[K]) => void
};

Invertir un tipo Record

Intercambie las claves y los valores mediante la reasignación de claves.
type Invert<T extends Record<string, string>> = {
  [K in keyof T as T[K]]: K
};

Reasignación condicional de claves

Aplique distintas transformaciones a las claves según el tipo de valor.
type MethodKeys<T> = {
  [K in keyof T as T[K] extends Function ? K : never]: T[K]
};

Combinación con literales de plantilla

Use tipos de literales de plantilla en la reasignación para generar claves con espacio de nombres.
type Namespaced<T, NS extends string> = {
  [K in keyof T as `${NS}::${string & K}`]: T[K]
};

Mapeo de claves symbol

Con la reasignación de claves también puede trabajar con claves symbol.

Práctica: tipo FormData

Derive un objeto de formulario con valores de tipo string a partir de un modelo de datos tipado.
type FormFields<T> = {
  [K in keyof T as K extends string ? K : never]: string
};

Combinación de as con tipos condicionales

La reasignación de claves y los tipos condicionales se pueden combinar para crear transformaciones de tipos muy expresivas.

Comprobación rápida

¿Qué ocurre con esa clave cuando se devuelve `never` desde la cláusula `as` de un tipo mapeado?

Resumen

La cláusula `as` de los tipos mapeados permite renombrar, filtrar mediante never y transformar claves usando literales de plantilla y condicionales. Esto permite crear patrones potentes, como la generación de getters y setters y el filtrado de propiedades según el tipo de valor.

Preguntas frecuentes

¿La lección «Reasignación de claves con as en tipos mapeados» es gratis?

Sí — el texto completo de «Reasignación de claves con as en tipos mapeados» 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 «Reasignación de claves con as en tipos mapeados»?

Cambie el nombre de las claves durante la transformación de tipos. 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 «Reasignación de claves con as en tipos mapeados»?

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

  1. Tipos mapeados: transformación de tipos de objetos
  2. Modificadores en tipos mapeados: readonly y ?
  3. Tipos de literales de plantilla: patrones de texto
  4. Reasignación de claves con as en tipos mapeados
← Volver a TypeScript Academy