0Pricing
TypeScript Academy · Leçon

Remappage des clés avec as dans les types mappés

Renommez les clés pendant la transformation des types

Remappage des clés avec as dans les types mappés est une leçon TypeScript Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage TypeScript Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours TypeScript Academy comprend 4 leçons au total.

Bienvenue

TypeScript 4.1 a ajouté la clause `as` dans les types mappés, ce qui permet de remapper (renommer) les clés dans le cadre de la transformation du type.

Remappage de clés de base

Ajoutez `as NewKeyType` après la variable de clé pour la remapper vers un nouveau nom de clé.
type Prefixed<T> = {
  [K in keyof T as `prefix_${string & K}`]: T[K]
};
type P = Prefixed<{ name: string }>;
// { prefix_name: string }

Filtrage des clés avec never

Retournez never depuis la clause `as` pour supprimer cette clé du type obtenu.
type OnlyStrings<T> = {
  [K in keyof T as T[K] extends string ? K : never]: T[K]
};

Génération de noms d’accesseurs

Utilisez Capitalize avec les types littéraux de modèle pour générer des noms de méthodes d’accès.
type Getters<T> = {
  [K in keyof T as `get${Capitalize<string & K>}`]: () => T[K]
};
type UserGetters = Getters<{ name: string; age: number }>;
// { getName: () => string; getAge: () => number }

Génération de noms de mutateurs

Générez de la même manière les noms des mutateurs pour les propriétés d’un type.
type Setters<T> = {
  [K in keyof T as `set${Capitalize<string & K>}`]: (val: T[K]) => void
};

Inversion d’un type Record

Échangez les clés et les valeurs à l’aide du remappage de clés.
type Invert<T extends Record<string, string>> = {
  [K in keyof T as T[K]]: K
};

Remappage conditionnel des clés

Appliquez différentes transformations aux clés selon le type de valeur.
type MethodKeys<T> = {
  [K in keyof T as T[K] extends Function ? K : never]: T[K]
};

Combinaison avec les littéraux de modèle

Utilisez des types littéraux de modèle dans le remappage pour générer des clés avec espace de noms.
type Namespaced<T, NS extends string> = {
  [K in keyof T as `${NS}::${string & K}`]: T[K]
};

Mappage des clés symboliques

Le remappage de clés permet également de travailler avec des clés symboliques.

En pratique : type FormData

Déduisez un objet de formulaire à valeurs textuelles à partir d’un modèle de données typé.
type FormFields<T> = {
  [K in keyof T as K extends string ? K : never]: string
};

Combinaison de as avec les types conditionnels

Le remappage de clés et les types conditionnels se combinent pour créer des transformations de types très expressives.

Vérification rapide

Que fait le fait de retourner `never` depuis la clause `as` d’un type mappé pour cette clé ?

Récapitulatif

La clause `as` des types mappés permet de renommer, de filtrer (avec never) et de transformer les clés à l’aide de littéraux de modèle et de conditions. Elle permet de créer des modèles puissants, comme la génération d’accesseurs et de mutateurs ou le filtrage des propriétés selon leur type de valeur.

Questions Fréquemment Posées

La leçon « Remappage des clés avec as dans les types mappés » est-elle gratuite ?

Oui — le texte complet de « Remappage des clés avec as dans les types mappés » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours TypeScript Academy, passe à CoddyKit PRO. Le cours TypeScript Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Remappage des clés avec as dans les types mappés » ?

Renommez les clés pendant la transformation des types Tu pratiques TypeScript Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer TypeScript Academy ?

Aucune expérience préalable n'est requise. TypeScript Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Remappage des clés avec as dans les types mappés » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon TypeScript Academy ?

Oui. Chaque leçon TypeScript Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Types mappés : transformer les types d’objets
  2. Modificateurs des types mappés : readonly et ?
  3. Types littéraux de modèle : motifs textuels
  4. Remappage des clés avec as dans les types mappés
← Retour à TypeScript Academy