satisfies operator

TypeScript 🟡 Mid

Définition

Opérateur introduit en TypeScript 4.9 qui vérifie qu'une valeur est conforme à un type sans élargir le type inféré. On garde la validation (clés manquantes, fautes de frappe) et la précision des littéraux pour l'autocomplétion.

Analogie

Comme un contrôle qualité qui valide la conformité sans changer l'étiquette du produit.

Exemple de code

type Colors = Record<string, [number, number, number]>;
const palette = {
  red: [255, 0, 0],
  green: [0, 255, 0],
} satisfies Colors;
palette.red; // type [number, number, number], pas Colors

Cas d'usage

Valider une configuration tout en gardant l'autocompletion sur les clés et valeurs exactes.

Anti-pattern

Utiliser un type annotation qui élargit le type et perd l'autocompletion sur les clés spécifiques.
#core#interview#ts4.9

En entretien

  1. Quelle différence entre satisfies et une simple annotation de type ?

    satisfies vérifie qu'une valeur est conforme à un type sans élargir le type inféré, alors qu'une annotation classique élargit le type et fait perdre l'autocomplétion sur les clés précises. On garde ainsi à la fois la validation et la précision des littéraux.

  2. Donne un cas d'usage de satisfies.

    Valider un objet de configuration tout en gardant l'autocomplétion sur les clés et valeurs exactes, par exemple une palette de couleurs ou une config de routes. Ça détecte les clés manquantes ou les fautes de frappe sans sacrifier le typage précis.

Fiche mise à jour le 2026-09-27

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