Mapped Types

TypeScript 🟡 Mid

Definition

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.

Termes lies

#core#interview#type-system