Bonjour les agrumes !
Je m'intéresse de plus en plus à JavaScript, surtout depuis que j'ai découvert la nouvelle version du standard EcmaScript. J'ai don décidé de faire ce défi. J'ai essayé d'utiliser les nouvelles fonctionnalités comme les templates strings, la boucle for-of et la POO, mais j'ai un problème avec ce dernier point. En effet lorsque j'éxécute mon script je reçoit une erreur qui est : SyntaxError : class is a reserved identifier
. Voilà, je n'en sais pas plus même après avoir lu une dizaine d'articles et de topics différents sur le sujet …
Et voici mon code (ça peut vous être utile) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | class Calculette { constructor () { read (); eval (); print (); } read () { var input = prompt("Veuillez entrer votre calcul"); var splitted = []; for (var char of input) { if (char != " ") { if (!operations.includes(char)) { char = Number(char); } splitted.unshift(char); } } this.stack = splitted; } eval () { for (var word of stack) { if (!operations.includes(word)) { this.stack.unshift(word); } else { var op1 = this.stack.pop; var op2 = this.stack.pop; if (word == "+") { this.stack.unshift(op1 + op2); } else if (word == "-") { this.stack.unshift(op1 - op2); } else if (word == "*") { this.stack.unshift(op1 * op2); } else if (word == "/") { this.stack.unshift(op1 / op2); } } this.result = this.stack.pop(); } } print () { alert (`Le résultat est ${this.result}`); } } var calc = new Calculette(); const operations = ["+", "-", "*", "/"]; |
Oui, pas de balise secret, j'ai du mal avec le markdown, désolé.
Merci d'avance pour votre aide !
+0
-0