Readonly<T>

TypeScript 🟢 Junior

Définition

Utility type qui rend toutes les propriétés en lecture seule. Toute tentative de mutation génère une erreur a la compilation.

Analogie

Comme un document sous verre dans un musée — on peut le regarder mais pas le toucher.

Exemple de code

interface State { count: number; name: string }
const state: Readonly<State> = { count: 0, name: "A" };
// state.count = 1; // Erreur: readonly

Cas d'usage

Protéger l'état dans Redux/stores immutables ou les paramètrès de fonctions pures.

Anti-pattern

Oublier que Readonly est superficiel — les objets imbriques restent mutables.

Termes liés

#core#interview#utility-types

En entretien

  1. Explique-moi ce que fait Readonly<T>.

    Ça rend toutes les propriétés d'un type en lecture seule, donc toute tentative de mutation génère une erreur à la compilation.

  2. Quel est le piège fréquent avec Readonly ?

    Il est superficiel : les objets imbriqués à l'intérieur restent mutables même si l'objet parent est en readonly.

  3. Pour quel usage utiliserais-tu Readonly ?

    Pour protéger l'état dans un store immutable type Redux, ou les paramètres de fonctions pures.

Fiche mise à jour le 2026-09-27

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