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 en utilisant le 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()); // Résultat : 1

Mais tenter 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 aident à maintenir l'encapsulation en gardant les détails d'implémentation interne 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 fait moins de 100 caractères
  • Retourner false sinon

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!" (utilise #isValidMessage)
console.log(box.setMessage(""));         // "Invalid message!" (utilise #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