Menu
Coddy logo textTech

Méthodes privées

Fait partie de la section Programmation Orientée Objet du Journey JavaScript de Coddy. Leçon 19 sur 56.

Les méthodes privées dans les classes JavaScript vous permettent de masquer les détails d’implémentation et d’empêcher l’accès externe aux fonctionnalités internes.

À partir d’ES2022, les méthodes privées peuvent être définies à l’aide du préfixe # :

class Counter {
  #count = 0;
  
  // Créer une méthode privée
  #increment() {
    this.#count++;
  }
  
  // Méthode publique qui utilise la méthode privée
  addOne() {
    this.#increment();
    return this.#count;
  }
}

Créons une instance de Counter :

const myCounter = new Counter();

Nous pouvons appeler la méthode publique :

console.log(myCounter.addOne()); // Sortie : 1

Mais essayer d’accéder directement à la méthode privée provoquera une erreur :

myCounter.#increment(); // Erreur : La méthode privée n'est pas accessible en dehors de la classe

Les méthodes privées contribuent à maintenir l’encapsulation en gardant les détails d’implémentation internes cachés du monde extérieur.

challenge icon

Défi

On vous donne une classe MessageBox qui stocke des messages. Votre tâche consiste à ajouter une méthode privée appelée #isValidMessage(text) qui valide les messages. Elle doit :

  • Retourner true si le texte n’est pas vide et comporte moins de 100 caractères
  • Retourner false dans le cas contraire

Essayez vous-même

import { MessageBox } from './messageBox.js';

// Utilisation de la boîte de message
const box = new MessageBox();

console.log(box.setMessage("Hello"));    // "Message set!" (uses #isValidMessage)
console.log(box.setMessage(""));         // "Invalid message!" (uses #isValidMessage)
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Programmation Orientée Objet

Entraînez-vous par vous-même : Compilateur JavaScript en ligne