2017-10-15 18 views
-1

Pourquoi l'expression 1 && 2 est-elle évaluée à 2?Pourquoi 1 && 2 renvoie-t-il 2?

console.log("1 && 2 = " + (1 && 2));

+0

C'est ce qu'on appelle les raccourcis booléens. Vous pouvez faire des choses similaires avec '||'. par exemple .. '0 || 1 || 2 "retournerait 1, où' 0 && 1 && 2' retournerait 0. C'est parce que dans le premier exemple '||' quand il frappe 1, la condition OU est remplie, il ne faut pas aller plus loin et court-circuiter le Où avec le AND &&, la première condition rend le et impossible donc court-circuite le 1 & 2 .. – Keith

Répondre

0

Selon MDN:

expr1 && expr2 retours expr1 si elle peut être convertie en false; sinon, renvoie expr2. Ainsi, lorsqu'il est utilisé avec des valeurs booléennes, && renvoie true si les deux opérandes sont vrais; sinon, renvoie false.

Parce que 1 peut être évaluée à true, 1 && 2 rendements 2.

0

Selon cette page:

Why 1 && 2 == 2

ET renvoie la première valeur de la falsification ou la dernière valeur si aucune n'a été trouvée. OU renvoie le premier vrai.

Pour plusieurs opérateurs dans la même déclaration:

priorité du ET & opérateur & est supérieur ou ||, il exécute avant OU.

alerte (5 || 1 & & 0); // 5

+0

Expliqué et a donné un autre lien. – coder87