accessor (auto-accessors)
TypeScript 🔴 SeniorDé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.
Termes liés
Sources
Fiche mise à jour le 2026-09-27