0Pricing
JavaScript Academy · Leçon

Champs de classe, champs privés # et membres static

Créez des classes avec des champs publics, masquez les données avec des champs privés # et ajoutez des propriétés ou méthodes static

Champs de classe, champs privés # et membres static est une leçon JavaScript Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 3. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage JavaScript Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours JavaScript Academy comprend 3 leçons au total.

Pourquoi utiliser des classes ?

Objectif : créer des classes petites et claires.

  • Champs publics et méthodes
  • Champs #private pour l’état masqué
  • Propriétés et méthodes static pour les utilitaires au niveau de la classe
  • Gardez les exemples courts et lisibles
Champs de classe, champs privés # et membres static — illustration 1

Champs publics et constructeur

Créez une classe avec un champ public et de petites méthodes ; gardez la logique simple pour les débutants.

// Public fields and a simple method
class Counter {
  // public field with default
  value = 0;

  constructor(start) {
    // use a default if start is not provided
    this.value = Number.isFinite(start) ? start : 0;
  }

  inc() {
    this.value = this.value + 1;
  }
}

const c1 = new Counter(2);
c1.inc();
console.log("value:", c1.value); // 3
Champs de classe, champs privés # et membres static — illustration 2

Champs privés #

Les champs #private sont imposés par le langage et utilisables uniquement à l’intérieur du corps de la classe. Exposez des méthodes de lecture si nécessaire.

// Private # fields hide internal state
class SafeCounter {
  // private field (only inside the class)
  #value = 0;

  constructor(start) {
    this.#value = Number.isFinite(start) ? start : 0;
  }

  inc() { this.#value = this.#value + 1; }
  getValue() { return this.#value; } // expose via method
}

const sc = new SafeCounter(5);
sc.inc();
console.log("safe value:", sc.getValue());

// External access fails (uncommenting the next line would throw):
// console.log(sc.#value);
Champs de classe, champs privés # et membres static — illustration 3

Accesseurs pour des lectures sûres

Un accesseur peut renvoyer une valeur dérivée ou validée tout en gardant le champ privé.

// Getters provide read-only views; simple guard logic
class User {
  #name = "Anonymous";
  constructor(name) {
    if (typeof name === "string" && name.trim().length > 0) {
      this.#name = name.trim();
    }
  }
  get name() {
    return this.#name;
  }
}

const u = new User(" Ayla ");
console.log("name:", u.name);
Champs de classe, champs privés # et membres static — illustration 4

Membres statiques

Les membres static sont appelés sur la classe (par exemple MathHelp.circleArea()), et non sur les instances.

// Static = belongs to the class, not to instances
class MathHelp {
  static PI = 3.14159;
  static circleArea(r) {
    if (!(typeof r === "number" && r >= 0)) return 0;
    return MathHelp.PI * r * r;
  }
}

console.log("PI:", MathHelp.PI);
console.log("area r=2:", MathHelp.circleArea(2));

// Instances do not have the static members:
const mh = new MathHelp();
console.log("instance has PI?", "PI" in mh); // false
Champs de classe, champs privés # et membres static — illustration 5

Bonnes habitudes pour les débutants

Conseils :

  • Préférez les petites classes comportant peu de méthodes claires.
  • Utilisez #private pour une véritable confidentialité ; les traits de soulignement ne sont qu’une convention de nommage.
  • Placez les constantes et utilitaires dans des membres static.
  • Exposez un minimum de méthodes de lecture (accesseurs) si un accès externe est nécessaire.
Champs de classe, champs privés # et membres static — illustration 6

Quiz sur les bases des champs privés

Vérification rapide : champs #private.

Champs de classe, champs privés # et membres static — illustration 7

Récapitulatif

Récapitulatif : utilisez les champs publics pour un état simple, #private pour masquer les détails internes et static pour les utilitaires au niveau de la classe. Gardez chaque classe petite et facile à lire.

Champs de classe, champs privés # et membres static — illustration 8

Questions Fréquemment Posées

La leçon « Champs de classe, champs privés # et membres static » est-elle gratuite ?

Oui — le texte complet de « Champs de classe, champs privés # et membres static » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours JavaScript Academy, passe à CoddyKit PRO. Le cours JavaScript Academy comprend 3 leçons au total.

Qu'est-ce que j'apprendrai dans « Champs de classe, champs privés # et membres static » ?

Créez des classes avec des champs publics, masquez les données avec des champs privés # et ajoutez des propriétés ou méthodes static Tu pratiques JavaScript Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer JavaScript Academy ?

Aucune expérience préalable n'est requise. JavaScript Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 3.

Combien de temps prend la leçon « Champs de classe, champs privés # et membres static » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon JavaScript Academy ?

Oui. Chaque leçon JavaScript Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Champs de classe, champs privés # et membres static
  2. Héritage, super et préférence pour la composition
  3. Mixins (aperçu) — réutilisation simple sans hiérarchies profondes
← Retour à JavaScript Academy