Maison  >  Article  >  interface Web  >  Pourquoi (0 < 5 < 3) est-il évalué comme vrai en JavaScript ?

Pourquoi (0 < 5 < 3) est-il évalué comme vrai en JavaScript ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-01 19:30:02891parcourir

Why does (0 < 5 < 3) evaluate to true in JavaScript?

L'énigme comparative de JavaScript : déchiffrer la vérité intérieure (0 < 5 < 3)

Dans le domaine de JavaScript, une observation particulière apparaît : pourquoi l'expression (0 < 5 < 3) est-elle évaluée comme vraie ? Ce comportement énigmatique découle des règles d'évaluation du langage, appelées ordre des opérations.

Pour percer ce mystère, il faut se plonger dans la séquence des opérations effectuées par l'expression :

  1. Parenthèses d'abord : Puisqu'il n'y a pas de parenthèses, cette étape est ignorée.
  2. Exponentiation : Il n'y a pas d'exponentiation, donc nous passons à autre chose.
  3. Multiplication et Division : Encore une fois, ces opérateurs sont absents.
  4. Addition et Soustraction : Nous n'avons ni addition ni soustraction.
  5. Comparaison : C'est ici que la magie opère. L'expression est évaluée comme ((0 < 5) < 3).

    • Tout d'abord, 0 est comparé à 5, ce qui donne vrai.
    • Le résultat de cette comparaison ( vrai) est ensuite comparé à 3. Cependant, JavaScript traite vrai comme 1 et faux comme 0. Ainsi, 1 est comparé à 3, produisant vrai.

Par conséquent, l'ensemble l'expression (0 < 5 < 3) se réduit à ((true) < 3), ce qui est finalement vrai. Cela explique pourquoi il renvoie vrai, même si 0 n'est ni inférieur à 5 ni 3.

De même, (0 < 5 < 2) est également évalué comme vrai pour la même raison. Cependant, (0 < 5 < 1) renvoie faux car (vrai) est comparé à 1, ce qui donne faux.

Bien que cette bizarrerie puisse sembler fascinante, ses applications pratiques sont limitées. Cependant, cela témoigne de l'importance de comprendre l'ordre des opérations dans la programmation JavaScript.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn