Maison  >  Article  >  interface Web  >  Pourquoi \"(0 < 5 < 3)\" est-il évalué à True en JavaScript ?

Pourquoi \"(0 < 5 < 3)\" est-il évalué à True en JavaScript ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-02 06:04:02781parcourir

Why Does

Dévoiler la vérité derrière "(0 < 5 < 3)"

Dans le domaine de la programmation, l'ordre de préséance régit comment les expressions sont évaluées. Dans le cas de "(0 < 5 < 3)", l'évaluation suit un ordre spécifique, conduisant à un résultat inattendu de "vrai".

Approfondissement de la mécanique :

  • Précédence des opérateurs : Les comparaisons ("<") ont priorité sur les opérateurs logiques ("&&").
  • Associativité : Les comparaisons associent de gauche à à droite.

Par conséquent, "(0 < 5 < 3)" est interprété comme "((0 < 5) < 3)".

Évaluation des expressions imbriquées :

  1. (0 < 5): True
  2. (true < 3): True

Puisque true est interprété comme 1 en JavaScript, (true < 3) est évalué à (1 < 3), ce qui donne "true". Par conséquent, l'expression entière "(0 < 5 < 3)" renvoie "true".

Une bizarrerie intéressante :

Ce comportement particulier peut être exploité pour atteindre certains résultats. Par exemple, cela peut être utile pour exécuter des opérations logiques de manière conditionnelle.

Exemple :

<code class="javascript">let result = (condition) ? (0 < 5 < 3) : (5 < 3 < 0);</code>

Si la condition est vraie, le résultat sera "vrai" car le l'expression "(0 < 5 < 3)" est évaluée à "true". Sinon, le résultat sera "faux" car l'expression "(5 < 3 < 0)" est évaluée comme "faux".

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