Sofiane Boumedine Lexique Dev

Mapped Types

TypeScript 🔴 Senior

Type : Concept

Definition

Les mapped types permettent de creer un nouveau type en transformant chaque propriete d'un type existant. Ils utilisent la syntaxe [K in keyof T] pour iterer sur les cles et modifier les types ou les modificateurs.

Analogie

Un photocopieur qui modifie chaque page en la copiant : tu peux agrandir, reduire ou changer la couleur de chaque page automatiquement.

Exemple de code

type Optional<T> = { [K in keyof T]?: T[K] };
type Nullable<T> = { [K in keyof T]: T[K] | null };
type Getters<T> = {
  [K in keyof T as class="str">`get${Capitalize<string & K>}`]: () => T[K]
};

Cas d'usage

Creer des types utilitaires personnalises comme Readonly, Partial ou des types de getters automatiques.

coreinterview-question