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
constructorprépare chaque nouvel objet ;thisdésigne l'objet en cours.- Les méthodes sont les actions de l'objet.
getdé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