Calculator tutorial steps
Thème :
Junior
1 vues ·4/5 leçonsÉtape 4 : JS - Logique d’Affichage (Partie 1)
Nous allons, comme pour la Todo App, utiliser une Classe pour gérer notre calculatrice. L’objectif de cette étape est de faire fonctionner l’affichage des chiffres.
1. La Classe Calculator
Ouvrez script.js.
class Calculator {
constructor(previousOperandTextElement, currentOperandTextElement) {
this.previousOperandTextElement = previousOperandTextElement;
this.currentOperandTextElement = currentOperandTextElement;
this.clear(); // On commence par tout effacer
}
// Remettre à zéro (AC)
clear() {
this.currentOperand = '';
this.previousOperand = '';
this.operation = undefined;
}
// Effacer le dernier chiffre (DEL)
delete() {
// On convertit en String pour pouvoir couper le dernier caractère
this.currentOperand = this.currentOperand.toString().slice(0, -1);
}
// Ajouter un chiffre à l'écran
appendNumber(number) {
// Limitation : on ne peut avoir qu'un seul point décimal
if (number === '.' && this.currentOperand.includes('.')) return;
// On concatène (ajoute à la suite) en texte, pas en maths (1 + 1 = 11 ici)
this.currentOperand = this.currentOperand.toString() + number.toString();
}
// Mettre à jour l'écran HTML
updateDisplay() {
this.currentOperandTextElement.innerText = this.currentOperand;
this.previousOperandTextElement.innerText = this.previousOperand;
}
}
2. Connecter les Boutons (Event Listeners)
Nous devons sélectionner tous nos boutons et les relier à la classe.
// Sélection des éléments HTML
const numberButtons = document.querySelectorAll('[data-num]');
const operationButtons = document.querySelectorAll('[data-op]');
const equalsButton = document.querySelector('[data-action="compute"]');
const deleteButton = document.querySelector('[data-action="delete"]');
const allClearButton = document.querySelector('[data-action="clear"]');
const previousOperandTextElement = document.getElementById('previous-operand');
const currentOperandTextElement = document.getElementById('current-operand');
// Création de l'instance
const calculator = new Calculator(previousOperandTextElement, currentOperandTextElement);
// Gestion des Chiffres
numberButtons.forEach((button) => {
button.addEventListener('click', () => {
// On récupère le chiffre du dataset (data-num)
calculator.appendNumber(button.dataset.num);
calculator.updateDisplay();
});
});
// Gestion des Boutons AC et DEL
allClearButton.addEventListener('click', () => {
calculator.clear();
calculator.updateDisplay();
});
deleteButton.addEventListener('click', () => {
calculator.delete();
calculator.updateDisplay();
});
Testez ! Vous pouvez maintenant cliquer sur les chiffres et ils s’affichent à l’écran. AC et DEL fonctionnent aussi. Les opérations ne font rien pour l’instant.
Prêt à passer à la suite ?
Vous avez terminé cette leçon sur Étape 4 : JS - Logique d'Affichage (Partie 1). Continuez votre apprentissage avec la prochaine leçon ou explorez d'autres formations.