0Pricing
TypeScript Academy · Leçon

keyof et types d’accès indexé

Accédez dynamiquement aux types des propriétés d’un objet avec keyof et T[K]

keyof et types d’accès indexé est une leçon TypeScript Academy gratuite sur CoddyKit. Ceci est la leçon 1 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

keyof produit une union des noms de propriétés d’un type d’objet. Les types d’accès indexé (T[K]) récupèrent le type associé à une clé de propriété donnée.

Bases de keyof

keyof T renvoie une union de tous les types de noms de propriétés de T.
interface User { id: number; name: string; email: string; }
type UserKeys = keyof User; // 'id' | 'name' | 'email'

Accès indexé : T[K]

Utilisez T[K] pour obtenir le type de la propriété K dans le type T.
type IdType = User['id'];   // number
type NameType = User['name']; // string

Accès dynamique aux propriétés

Combinez keyof et les types génériques pour créer des fonctions d’accès aux propriétés sûres du point de vue des types.
function getProperty<T, K extends keyof T>(obj: T, key: K): T[K] {
  return obj[key];
}
const name = getProperty(user, 'name'); // string

keyof avec typeof

Utilisez typeof sur une valeur, puis keyof pour obtenir ses noms de propriétés sans déclarer d’interface.
const config = { host: 'localhost', port: 3000 };
type ConfigKey = keyof typeof config; // 'host' | 'port'

Union de types indexés

Indexez un type avec une union de clés pour obtenir l’union de leurs types de valeurs.
type NumericValues = User['id' | 'age']; // number | number = number

keyof sur les tableaux

keyof appliqué à un type de tableau renvoie les types d’index du tableau ainsi que les noms de ses méthodes.
type ArrKey = keyof string[]; // number | 'length' | 'push' | ...
type Element = string[][number]; // string

Accès indexé récursif

Enchaînez les types d’accès indexé pour parcourir des objets imbriqués.
type Address = { city: string; zip: string };
type Profile = { address: Address };
type City = Profile['address']['city']; // string

Contraintes avec keyof

Utilisez K extends keyof T comme contrainte générique pour garantir que K est une clé valide de T.
function setProperty<T, K extends keyof T>(obj: T, key: K, value: T[K]): void {
  obj[key] = value;
}

Les types mappés utilisent keyof

Les types mappés parcourent keyof T pour transformer les types d’objets.
type Readonly2<T> = { readonly [K in keyof T]: T[K] };

keyof dans les types conditionnels

keyof est puissant dans les types conditionnels pour extraire des groupes de clés spécifiques.
type StringKeys<T> = { [K in keyof T]: T[K] extends string ? K : never }[keyof T];

Vérification rapide

Que renvoie `User['name']` si `interface User { name: string }` ?

Récapitulatif

keyof extrait les noms de propriétés sous forme de type union. T[K] récupère le type associé à une clé. Ensemble, ils permettent l’accès aux propriétés sûr du point de vue des types, les types mappés et les utilitaires de types conditionnels.

Questions Fréquemment Posées

La leçon « keyof et types d’accès indexé » est-elle gratuite ?

Oui — le texte complet de « keyof et types d’accès indexé » 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 « keyof et types d’accès indexé » ?

Accédez dynamiquement aux types des propriétés d’un objet avec keyof et T[K] 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 1 sur 4.

Combien de temps prend la leçon « keyof et types d’accès indexé » ?

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. keyof et types d’accès indexé
  2. Contraintes génériques : affiner les paramètres de types
  3. Types conditionnels : T extends U ? X : Y
  4. Types conditionnels distributifs
← Retour à TypeScript Academy