Maison > Article > interface Web > Pourquoi cela ; LT; et devient vrai mais gt ; gt; etturn false en 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 :
Maintenant, voici le truc : lorsque JavaScript compare vrai à un nombre, il devient vrai en 1.
Donc, ce qui se passe réellement, c'est :
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!