Maison >interface Web >js tutoriel >Évaluation de court-circuit dans JavaScript: Boost Performance et simplifie la logique!
Vous êtes-vous déjà demandé comment les opérateurs ??
, ||
et &&
de JavaScript fonctionnent sous le capot ? Cet article dévoile le mystère de l'évaluation des courts-circuits, expliquant leur comportement et mettant en évidence les meilleures pratiques.
Évaluation de court-circuit en JavaScript signifie que les opérateurs logiques évaluent les expressions de gauche à droite, s'arrêtant dès que le résultat est clair.
ET logique (&&
)
Renvoie la première valeur fausse rencontrée ; sinon, il renvoie la dernière valeur si tout est véridique.
<code class="language-javascript">let x = 5; let y = 0; console.log(x && y); // 0 console.log(x && true); // true</code>
OU logique (||
)
Renvoie la première valeur véridique rencontrée ; sinon, il renvoie la dernière valeur si toutes sont fausses.
<code class="language-javascript">let a = null; let b = "Hello"; console.log(a || b); // Hello console.log(a || false); // false</code>
Opérateur de coalescence nul (??
)
Fournit une valeur par défaut uniquement lorsque l'opérande de gauche est null
ou undefined
.
<code class="language-javascript">let userName = null; let result = 0 ?? 100; console.log(result); // 0 console.log(userName ?? "Guest"); // Guest</code>
Utilisation combinée (avec les meilleures pratiques)
La combinaison de ces opérateurs nécessite une utilisation prudente des parenthèses pour éviter des résultats inattendus.
<code class="language-javascript">let a = null; let b = 0; let c = 10; let d = 20; let result = (a ?? b) || (c && d); console.log(result); // 20</code>
(a ?? b)
est évalué à 0
(puisque a
est null
). (c && d)
est évalué à 20
. Par conséquent, 0 || 20
donne 20
.
Avantages de l'évaluation des courts-circuits :
null
ou undefined
.Inconvénients :
Bonnes pratiques :
??
à ||
lorsqu'il s'agit spécifiquement de null
ou undefined
pour éviter de remplacer d'autres valeurs fausses (par exemple, 0
, ""
).L'évaluation des courts-circuits n'est pas propre à JavaScript ; c'est une fonctionnalité commune dans de nombreux langages de programmation (Python, Java, C/C, etc.), bien que la syntaxe puisse différer.
Connectez-vous avec moi sur LinkedIn : www.linkedin.com/in/geetansh-chahal-b7473b1b4/
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!