accessor (auto-accessors)

TypeScript 🔴 Senior

Définition

Mot-clé accessor introduit en TypeScript 4.9 pour les classes : accessor x = 1 déclare un champ privé de stockage et une paire getter/setter publique sur le prototype. Il vient de la proposition TC39 Decorators (Stage 2.7 au 27 septembre 2026), où il permet aux décorateurs d'intercepter lectures et écritures, ce qu'un champ ordinaire ne permet pas.

Analogie

Une boîte aux lettres avec fente et clé : on passe toujours par l'ouverture, jamais par le fond de la boîte.

Exemple de code

function suivi<T>(cible: ClassAccessorDecoratorTarget<any, T>,
                  ctx: ClassAccessorDecoratorContext) {
  return {
    set(this: any, v: T) {
      console.log(`${String(ctx.name)} ←`, v);
      cible.set.call(this, v);
    },
  };
}
class Compteur {
  @suivi accessor valeur = 0; // get/set générés, stockage privé
}

Cas d'usage

Décorateurs de réactivité, de validation ou d'observation de propriétés (frameworks, ORM).

Anti-pattern

Utiliser accessor sans décorateur ni logique : un simple champ suffit et coûte moins.
#advanced#ts4.9#decorators

Fiche mise à jour le 2026-09-27

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