Aller au contenu principal
ShadowAcademy

Les langages JavaScript Classes et erreurs

Les classes

class Minuteur {
    constructor(secondes) {
        this.restant = secondes;
    }

    avancer() {
        if (this.restant > 0) {
            this.restant--;
        }
    }

    get termine() {
        return this.restant === 0;
    }
}

const m = new Minuteur(2);
m.avancer();
m.termine;   // false
  • constructor prépare chaque nouvel objet ; this désigne l'objet en cours.
  • Les méthodes sont les actions de l'objet.
  • get définit une propriété calculée, qui se lit sans parenthèses.

Protéger les règles

Une classe garantit que l'objet reste cohérent : si une opération n'a pas de sens, elle la refuse plutôt que de laisser un état absurde.

throw new Error("Durée négative");

throw interrompt tout de suite l'exécution, jusqu'à ce qu'un try/catch rattrape l'erreur (leçon suivante). On vérifie avant de modifier : une opération refusée ne doit rien avoir changé.

Un champ privé

Un nom qui commence par # n'est accessible que depuis l'intérieur de la classe :

class Coffre {
    #code;
    constructor(code) { this.#code = code; }
    ouvrir(essai) { return essai === this.#code; }
}

1 exercice pour cette lecon

Les exercices demandent un compte : il faut bien enregistrer votre progression quelque part. La lecture, elle, reste libre. Creer un compte

  • Un compte bancaire difficile lecon a valider