Mapped Types
TypeScript 🟡 MidDefinition
Types qui transforment chaque propriete d'un type existant via une iteration sur ses cles. Base de Partial, Required, Readonly et autres utility types.
Analogie
Comme une chaine de montage qui applique la meme transformation a chaque piece — chaque propriete passe par le meme moule.
Exemple de code
type Optional<T> = {
[K in keyof T]?: T[K];
};
interface User { name: string; age: number }
type PartialUser = Optional<User>;
// { name?: string; age?: number }
Cas d'usage
Creer des variantes de types existants (formulaires partiels, versions readonly, DTOs).
Anti-pattern
Redefinir manuellement chaque variante d'un type au lieu d'utiliser un mapped type — duplication et desynchronisation.