Mapped Types
TypeScript 🔴 SeniorType : 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.