Pourquoi (0 < 5 < 3) est-il évalué comme vrai en JavaScript ?
Nov 01, 2024 pm 07:30 PML'é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 :
- Parenthèses d'abord : Puisqu'il n'y a pas de parenthèses, cette étape est ignorée.
- Exponentiation : Il n'y a pas d'exponentiation, donc nous passons à autre chose.
- Multiplication et Division : Encore une fois, ces opérateurs sont absents.
- Addition et Soustraction : Nous n'avons ni addition ni soustraction.
-
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Remplacer les caractères de chaîne en javascript

jQuery obtient un rembourrage / marge d'élément

jQuery Vérifiez si la date est valide

10 vaut la peine de vérifier les plugins jQuery

Tutoriel de configuration de l'API de recherche Google personnalisé

Http débogage avec le nœud et le http-console

jQuery Ajouter une barre de défilement à div
