Possible en double:
Why does (0 < 5 <3) return true?Comment cela se fait-il?
Comment se fait cela est vrai ?:
console.log(100 < 210 < 200); // outputs true
Possible en double:
Why does (0 < 5 <3) return true?Comment cela se fait-il?
Comment se fait cela est vrai ?:
console.log(100 < 210 < 200); // outputs true
C'est équivalent à:
console.log((100 < 210) < 200);
qui équivaut à:
console.log(true < 200);
Et cela évalue à true
parce que lors de l'utilisation des opérateurs tels que <
, true
est traitée comme si elle était un 1
Par conséquent, ce qui suit évaluera à false
:
console.log(true < 0)
100 < 210 < 200
est équivalent à (100 < 210) < 200
wh C'est true < 200
qui est 1 < 200
qui est true
.
Ce dernier bit (true
devenant 1
) peut être un peu surprenant. C'est le résultat de la façon dont JavaScript effectue les opérations relationnelles (Section 11.8.5 de la spécification), qui indique entre autres que si la relation est entre un non-numéro (autre que null
ou undefined
) et un nombre, vous convertissez le non-nombre en un le nombre et la conversion de true
à un nombre produit 1
(Section 9.3 de la spécification.)
voir: [http://meta.stackexchange.com/questions/92074/what-can-i-do-when- get-it-does-not-meet-notre-qualité-standards] –