Partial, Readonly, Record, Pick y Omit
Domine los principales tipos de utilidad para transformar objetos: Partial, Readonly, Record, Pick y Omit.
Partial, Readonly, Record, Pick y Omit es una lección gratuita de TypeScript Academy en CoddyKit. Esta es la lección 2 de 3. 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 3 lecciones en total.
Introducción
Objetivo: Reestructurar tipos de objetos de forma segura con Partial, Readonly, Record, Pick y Omit. Estas herramientas eliminan código repetitivo y previenen errores.
Partial
Partial<T> convierte todas las propiedades en opcionales; es perfecto para cargas útiles de actualización.
interface User {
id: number;
name: string;
email?: string;
}
type UserUpdate = Partial<User>;
const patch: UserUpdate = { name: "Ada" }; // only changed fields
Readonly
Readonly<T> impide reasignar propiedades; es ideal para configuraciones compartidas.
type Config = Readonly<{ api: string; timeout: number }>;
const cfg: Config = { api: "https://api", timeout: 1000 };
// cfg.timeout = 2000; // Error: readonly
Record
Record<K,T> crea un tipo con claves de la unión K y valores uniformes del tipo T.
type Status = "idle" | "loading" | "error";
type Flags = Record<Status, boolean>;
const f: Flags = { idle: true, loading: false, error: false };
// Also works for arbitrary string keys
const scores: Record<string, number> = { math: 95, eng: 88 };
Pick y Omit
Pick selecciona determinadas propiedades; Omit elimina algunas. Son ideales para modelos de vista y DTO de API.
interface User {
id: number;
name: string;
email?: string;
role: "user" | "admin";
}
type PublicUser = Pick<User, "id" | "name">;
type PrivateUser = Omit<User, "role">;
const pu: PublicUser = { id: 1, name: "Ada" };
const pr: PrivateUser = { id: 1, name: "Ada", email: "a@x.io" };
Consejos
Consejos:
- Combine utilidades:
Readonly<Partial<T>>para parches inmutables. - Utilice Record para mapas de clave → valor.
- Prefiera Pick/Omit a volver a declarar tipos similares.
Comprobación de la utilidad Record
Comprobación rápida: ¿Qué utilidad asigna un conjunto de claves a un único tipo de valor?
Resumen
Resumen: Partial para parches, Readonly para inmutabilidad, Record para mapas de clave→valor y Pick/Omit para reestructurar modelos rápidamente.
Preguntas frecuentes
¿La lección «Partial, Readonly, Record, Pick y Omit» es gratis?
Sí — el texto completo de «Partial, Readonly, Record, Pick y Omit» 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 3 lecciones en total.
¿Qué aprenderé en «Partial, Readonly, Record, Pick y Omit»?
Domine los principales tipos de utilidad para transformar objetos: Partial, Readonly, Record, Pick y Omit. 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 2 de 3.
¿Cuánto tiempo toma la lección «Partial, Readonly, Record, Pick y Omit»?
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
- Funciones genéricas y restricciones (extends, parámetros predeterminados)
- Partial, Readonly, Record, Pick y Omit
- Tipos keyof y de acceso indexado (introducción)