Record<K, V>

TypeScript 🟢 Junior

Définition

Utility type qui construit un type objet dont les clés sont de type K et les valeurs de type V. Alternative typée aux objets indexe.

Analogie

Comme un tableau Excel avec des colonnes prédéfinies — chaque ligne a exactement les mêmes champs.

Exemple de code

type Role = "admin" | "user" | "guest";
const permissions: Record<Role, string[]> = {
  admin: ["read", "write", "delete"],
  user: ["read", "write"],
  guest: ["read"]
};

Cas d'usage

Créer des dictionnaires/maps types pour des lookups, configurations par clé ou traductions.

Anti-pattern

Utiliser { [key: string]: any } au lieu de Record avec des clés précises — perte d'autocompletion.

Termes liés

#core#interview#utility-types

En entretien

  1. Explique-moi à quoi sert Record<K, V>.

    Ça construit un type objet dont les clés sont de type K et les valeurs de type V, une alternative typée aux objets indexés.

  2. Pourquoi éviter `{ [key: string]: any }` ?

    Ça fait perdre l'autocomplétion et la précision des clés, alors que Record avec des clés précises comme un type union garde ces garanties.

  3. Donne un cas d'usage de Record.

    Créer des dictionnaires typés pour des lookups, des configurations par clé ou des traductions, comme des permissions par rôle.

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre