Maison  >  Article  >  interface Web  >  Pourquoi cela ; LT; et devient vrai mais gt ; gt; etturn false en JavaScript ?

Pourquoi cela ; LT; et devient vrai mais gt ; gt; etturn false en JavaScript ?

WBOY
WBOYoriginal
2024-08-21 06:05:02759parcourir

Why does lt; lt; eturn true but gt; gt; eturn false in JavaScript?

Hé, fans de JavaScript ! Avez-vous déjà vécu un de ces moments où votre code fait quelque chose de bizarre et vous vous grattez la tête ? Eh bien, j'en ai une bonne pour vous aujourd'hui.

Regardez ça :

console.log(1 < 2 < 3);  // true
console.log(3 > 2 > 1);  // false

Attends, quoi ? La deuxième est fausse ? Mais 3 est supérieur à 2, et 2 est supérieur à 1, n'est-ce pas ? Alors que se passe-t-il ici ?

Décomposons-le :

  1. JavaScript lit ces comparaisons de gauche à droite.
  2. Pour 1 < 2 &Lt ; 3 :
    • Tout d'abord, il fait 1 < 2. C'est vrai.
    • Ensuite, c'est vrai < 3.
  3. Pour 3> 2 > 1 :
    • Tout d'abord, il fait 3 > 2. C'est vrai.
    • Ensuite, c'est vrai > 1.

Maintenant, voici le truc : lorsque JavaScript compare vrai à un nombre, il devient vrai en 1.

Donc, ce qui se passe réellement, c'est :

  1. vrai ≪ 3 devient 1 < 3, ce qui est vrai.
  2. vrai > 1 devient 1 > 1, ce qui est faux.

Et c'est pourquoi nous obtenons vrai pour le premier et faux pour le second.

Fou, non ?

Alors, que pouvons-nous en tirer ? Lorsque vous effectuez plusieurs comparaisons, il vaut mieux être clair. Au lieu de 3 > 2 > 1, vous pouvez écrire (3 > 2) && (2 > 1). C'est un peu plus long, mais au moins ça fait ce que tu attends.

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
Article précédent:Promesses en java scriptArticle suivant:Promesses en java script