Quelle est la distinction entre & et && ?
JavaScript utilise deux opérateurs distincts pour effectuer des opérations logiques : & et &&. Bien qu'ils semblent initialement similaires, leurs comportements diffèrent considérablement.
AND au niveau du bit (&)
& est connu sous le nom d'opérateur AND au niveau du bit. Il effectue des opérations au niveau du bit entre deux opérandes numériques, renvoyant ainsi un nombre. Cependant, il est rarement utilisé en JavaScript en raison de son utilité limitée et de ses inconvénients en termes de performances.
L'opérateur logique ET (&&)
&& est l'opérateur logique ET. Contrairement à &, il fonctionne sur n'importe quel type de données, y compris les valeurs numériques et booléennes. Il vérifie si tous les opérandes sont vrais et renvoie :
Court-circuit dans &&
Une caractéristique essentielle de && est le court-circuit. Une fois qu'un faux opérande est trouvé, l'évaluation cesse et les opérandes restants sont ignorés. Cela permet à JavaScript d'optimiser le code en ignorant les calculs inutiles.
Cas d'utilisation pratiques
ET au niveau du bit (&)
ET logique (&&)
Exemples de code
<code class="javascript">const first = 123; const second = false; const third = 456; const fourth = "abc"; const fifth = true; console.log(first & second); // 0 console.log(first & third); // 72 console.log(first & fourth); // 0 console.log(first & fifth); // 1 console.log(first && second); // false console.log(first && third); // 456 console.log(first && fourth); // abc console.log(first && fifth); // true</code>
Conclusion
& (ET au niveau du bit) et && (ET logique) sont des opérateurs distincts en JavaScript avec des cas d'utilisation variés. & est rare, utilisé dans des scénarios spécifiques, tandis que && est polyvalent, permettant une évaluation conditionnelle et une optimisation efficaces grâce au court-circuit. Comprendre leurs différences est crucial pour maîtriser les capacités logiques de 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!