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 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 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);

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);

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

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.

Quiz sur les bases des champs privés
Vérification rapide : champs #private.

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.

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
- Champs de classe, champs privés # et membres static
- Héritage, super et préférence pour la composition
- Mixins (aperçu) — réutilisation simple sans hiérarchies profondes