Private Class Fields

JavaScript 🟡 Mid

Definition

Champs de classe prefixes par # veritablement prives (hard private). Non accessibles en dehors de la classe, meme par les sous-classes. Contrairement aux conventions _prefix.

Analogie

Un coffre-fort dans ta chambre : meme les membres de ta famille ne peuvent pas l'ouvrir.

Exemple de code

class Counter {
  #count = 0;
  increment() { this.#count++; }
  get value() { return this.#count; }
}
const c = new Counter();
c.increment();
c.value;   // 1
// c.#count; // SyntaxError

Cas d'usage

Encapsulation stricte dans les classes, protection des invariants internes.

Termes lies

#core#ES2022#OOP