Pourquoi la sortie de cette expression est-elle de 20?
J'ai essayé différents calculs mais cela conduit toujours à la sortie de 24.
Pourriez-vous s'il vous plaît m'expliquer comment Javascript calcule cette expression?
Merci.
let A = 2; let B = 4; let result = B + B * A + 8; console.log(result);
Sortie: 20
3 Réponses :
Il évalue comme ceci:
résultat = 4 + 4 * 2 + 8
En raison du point avant le calcul de la ligne, une parenthèse est placée autour de la multiplication.
Comme ceci: 4 + (4 * 2) + 8
Ce qui équivaut à 4 + 8 + 8
, et vous ne pouvez pas dire que c'est 20.
Peut-être que votre calculatrice n'a pas fait de point avant le calcul de la ligne.
J'espère que je pourrais vous aider.
J'espère que cela vous aidera à comprendre
let A = 2; let B = 4; let result = (B + B) * A + 8; console.log(result); //Outputs 24 A = 2; B = 4; result = B + (B * A) + 8; console.log(result); //Outputs 20
Il suit la règle de PEMDAS (qui signifie parathèse, exposants, multiplication et division, addition et soustraction).
Cela signifie simplement que la multiplication et la division ont un ordre "supérieur" à l'addition ou à la soustraction. Ce qui signifie que la multiplication et la division auront lieu avant toute addition ou soustraction.
Dans l'exemple, l'opération B * A
se produira en premier car elle a priorité sur les opérations d'addition dans l'équation.
4 + 4 * 2 + 8
=4 + (4 * 2) + 8
=4 + 8 + 8
=20 < / code> - Je ne suis pas sûr de ce que vous attendiez. Ce ne sont que des mathématiques de base ...
Si vous utilisez une simple calculatrice, en effectuant une opération à la fois, vous faites
((B + B) * A) + 8
. Lorsque vous effectuez ce calcul en une seule fois , c'estB + (B * A) + 8
. Cela ne se limite pas à JavaScript, ni même à la programmation; voir en.wikipedia.org/wiki/Order_of_operations .Bonjour Scott, vous pouvez consulter ici l'ordre de fonctionnement développeur. mozilla.org/en-US/docs/Web/JavaScript/Reference/…
Peut-être que vous vouliez faire
let result = (B + B) * A + 8
, jetez un œil à ce que jon a commenté, l'ordre des opérations compte vraiment dans la programmation