TS Advanced Types
Thème :
Junior
1 vues ·4/6 leçons

Mapped Types

Les mapped types vous permettent de créer de nouveaux types en itérant sur les clés d’un type existant.

type OptionsFlags<Type> = {
    [Property in keyof Type]: boolean;
};

Modificateurs de Mappage

Vous pouvez ajouter ou supprimer les modificateurs readonly et ? en utilisant + (par défaut) ou -.

// Supprime les attributs 'readonly' des propriétés d'un type
type CreateMutable<Type> = {
    -readonly [Property in keyof Type]: Type[Property];
};

// Supprime les attributs optionnels (les rend obligatoires)
type Concrete<Type> = {
    [Property in keyof Type]-?: Type[Property];
};

Remappage de Clés

Vous pouvez changer le nom de la clé en utilisant as.

type Getters<Type> = {
    [Property in keyof Type as `get${Capitalize<string & Property>}`]: () => Type[Property];
};

📘 Cette leçon fait partie du cours Maîtrise du Système de Types TypeScript sur la plateforme d’apprentissage RostoDev.

Prêt à passer à la suite ?

Vous avez terminé cette leçon sur Mapped Types. Continuez votre apprentissage avec la prochaine leçon ou explorez d'autres formations.