Los tipos mapeados transforman un tipo existente iterando sobre sus propiedades. Son la base de utilidades como Partial<T>, Readonly<T>, Pick<T, K> y Record<K, V>.
Sintaxis básica
type Nullable<T> = { [P in keyof T]: T[P] | null };
Itera sobre keyof T y aplica una transformación a cada propiedad.
Modificadores
Añadir o remover readonly y ? con prefijos + y -: { -readonly [P in keyof T]-?: T[P] }.
Reasignación de claves (TS 4.1+)
as clause para renombrar propiedades: { [P in keyof T as get${Capitalize<string & P>}]: () => T[P] }.
Casos de uso comunes
Crear tipos getter, envolver propiedades en Promesas, hacer propiedades opcionales condicionalmente, filtrar propiedades por tipo de valor.

