0Pricing
TypeScript Academy · Lección

Tipos mapeados con +/-readonly y +/-?

Explore los tipos mapeados y sus modificadores (+/-readonly, +/-optional) para crear variaciones flexibles de estructuras de objeto.

Tipos mapeados con +/-readonly y +/-? es una lección gratuita de TypeScript Academy en CoddyKit. Esta es la lección 1 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: Aprenda a utilizar tipos mapeados con modificadores para alterar sistemáticamente las propiedades de los objetos. Permiten crear versiones readonly, opcionales u obligatorias de los tipos.

Tipo mapeado básico

Un tipo mapeado recorre las claves y reutiliza los tipos de las propiedades. Esta es la base de las transformaciones.

type Options = { a: string; b: number }

type Clone<T> = { [K in keyof T]: T[K] }

type Copy = Clone<Options>  // { a: string; b: number }

Añadir readonly

Utilice +readonly para imponer la inmutabilidad. Todas las propiedades pasan a ser readonly.

type ReadonlyT<T> = { [K in keyof T]+readonly: T[K] }

interface User { id: number; name: string }

type Locked = ReadonlyT<User>  // all props readonly

Eliminar readonly

Utilice -readonly para eliminar la inmutabilidad y restaurar la mutabilidad.

type Mutable<T> = { [K in keyof T]-readonly: T[K] }

type Editable = Mutable<Locked>  // props writable again

Añadir opcionalidad

El signo ? después de una propiedad la marca como opcional. Es útil para actualizar configuraciones.

type PartialT<T> = { [K in keyof T]?: T[K] }

interface Settings { dark: boolean; lang: string }

type Maybe = PartialT<Settings>  // props optional

Eliminar opcionalidad

Utilice -? para eliminar la opcionalidad y exigir la presencia de las propiedades.

type RequiredT<T> = { [K in keyof T]-?: T[K] }

type Strict = RequiredT<Maybe>  // props required again

Comprobación de eliminación de readonly

Comprobación rápida: ¿Qué sintaxis de tipo mapeado elimina readonly de las propiedades?

Repaso

Repaso: Los tipos mapeados permiten aplicar transformaciones a todas las propiedades: +/-readonly y +/-? para la mutabilidad y la opcionalidad. Son la base de Partial, Required y Readonly.

Preguntas frecuentes

¿La lección «Tipos mapeados con +/-readonly y +/-?» es gratis?

Sí — el texto completo de «Tipos mapeados con +/-readonly y +/-?» 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 «Tipos mapeados con +/-readonly y +/-?»?

Explore los tipos mapeados y sus modificadores (+/-readonly, +/-optional) para crear variaciones flexibles de estructuras de objeto. 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 1 de 3.

¿Cuánto tiempo toma la lección «Tipos mapeados con +/-readonly y +/-?»?

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 con +/-readonly y +/-?
  2. Remapeo de claves y tipos de literales de plantilla
  3. Tipado de patrones de cadenas (parámetros de ruta y nombres de eventos)
← Volver a TypeScript Academy