<p>Une exploration approfondie des opérateurs JavaScript : des opérateurs arithmétiques aux opérateurs ternaires</p>
<p>Cet article examinera en profondeur les opérateurs JavaScript. </p>
<p>Les opérateurs JavaScript incluent : </p>
<ol>
<li>Opérateurs arithmétiques : <code> </code>, <code>-</code>, <code>*</code>, <code>/</code>, <code>%</code>, <code>**</code>
</li>
<li> Opérateur de négation : <code>-</code> (signe négatif unaire), <code>!</code> (non logique) </li>
<li>Opérateurs de comparaison : <code>></code>, <code><</code>, <code>>=</code>, <code><=</code>, <code>==</code>, <code>!=</code>, <code>===</code>, <code>!==</code></li>
<li> Opérateurs logiques : <code>&&</code> (ET), <code>||</code> (OU), <code>!</code> (non) </li>
<li>Opérateur de coalescence de valeur nulle : <code>??</code></li>
<li>Opérateur ternaire : <code>? :</code></li>
</ol>
<p><strong>Valeurs vraies et fausses :</strong></p>
<p>Fausses valeurs : 0, "" (chaîne vide), <code>false</code>, <code>null</code>, <code>undefined</code> et <code>NaN</code>
Vraie valeur : toutes les autres valeurs </p>
<p><strong>Opérations :</strong></p>
<p>La valeur ou la variable sur laquelle l'opérateur agit. Par exemple, dans l'expression <code>5 2</code>, les nombres 5 et 2 sont les opérandes. </p>
<p><strong>Opérateur unaire :</strong></p>
Lorsque l’opérateur <p> agit sur un seul opérande, on parle d’opérateur unaire. Par exemple : <code> 5</code>, <code>-x</code> (annule x) ou <code>typeof "123"</code>. </p>
<p><strong>Opérateur binaire :</strong></p>
Lorsque l’opérateur <p> agit sur deux opérandes, on parle d’opérateur binaire. Par exemple : <code>5 2</code>, <code>x * y</code>. </p>
<p><strong>Opérateurs arithmétiques :</strong> <code> </code>, <code>-</code>, <code>*</code>, <code>/</code>, <code>%</code>, <code>**</code></p>
<p>JavaScript convertira implicitement les types pendant les opérations. Par exemple : </p>
<p><code>5 - "3"</code> Le résultat est l'entier 2 ("3" est converti en entier 3 pour la soustraction)
<code>10 % "3"</code>Le résultat est un entier 1</p>
<p><strong><code> </code> Comportement particulier de l'opérateur : </strong></p>
<p>Pour les chaînes, l'opérateur <code> </code> les concatènera. Par exemple : </p>
<p><code>let value = "hello" "world" "!";</code> // "bonjour le monde !"</p>
<p>Ce comportement est différent des autres opérateurs arithmétiques. Si l’un ou l’autre des opérandes est de type chaîne, l’opérateur <code> </code> concatène les opérandes. Par exemple : </p>
<p><code>"10" 4</code> Le résultat est la chaîne "104".
<code>1 1 "5"</code> Le résultat est la chaîne "25" (comptée de gauche à droite). </p>
<p><strong>Un dollar <code> </code> :</strong></p>
<p>L'opérateur unaire <code> </code> convertit les non-nombres en nombres. C'est l'abréviation de <code>Number()</code>. Par exemple : </p>
<p><code> "123"</code> // 123
<code> true</code> // 1
<code> ""</code> // 0</p>
<p><strong> Opérateur de négation : </strong></p>
<p>L'opérateur unaire <code>-</code> annule un nombre ou une variable, inversant ainsi son signe. Par exemple : </p>
<p><code>let x = 3;</code>
<code>console.log(-x);</code> // -3</p>
<p><strong>Opérateur de comparaison :</strong></p><p>Les opérateurs de comparaison comparent les nombres, tout comme nous le savons en mathématiques. Pour les chaînes, JavaScript compare en fonction de l'ordre alphabétique ou lexical. Vous pouvez vous référer à la table d'encodage des caractères (ASCII ou Unicode). Lors de la comparaison, JavaScript convertit la valeur en nombre si nécessaire. Par exemple : </p>
<p><code>"2" > 1</code> // vrai
<p>JavaScript a certaines fonctionnalités dans son comportement de comparaison : </p>
<p><code>null == undefined</code> // vrai
<code>null === undefined</code> // faux
<code>NaN == NaN</code> // false (NaN est défini comme "n'est égal à aucune valeur, y compris elle-même")</p>
<p><strong>Opérateurs logiques :</strong></p>
<p><strong><code>&&</code> (avec)</strong></p>
L'opérateur <p><code>&&</code> renvoie <code>true</code> uniquement si les deux opérandes sont vrais. </p>
<p><code>true && true</code> // vrai
<code>true && false</code> // faux
<code>false && true</code> // faux
<code>false && false</code> // faux</p>
<p>JavaScript calcule les valeurs de gauche à droite. Si l'opérande de gauche est vrai, l'évaluation de l'opérande de droite continue et la valeur r est renvoyée. </p>
<p><code>1 && 2</code> // 2
<code>1 && true && 3</code> // 3</p>
<p>Si une fausse valeur est rencontrée, arrêtez et renvoyez une fausse valeur. </p>
<p><code>1 && null</code> // nul
<code>1 && 2 && undefined</code> // non défini</p>
<p>Si tous les opérandes sont vrais, renvoie la dernière valeur. </p>
<p><code>1 && 2 && 3</code> // 3</p>
<p><strong><code>||</code> (ou)</strong></p>
L'opérateur <p><code>||</code> renvoie <code>true</code> si l'un ou l'autre des opérandes est vrai. </p>
<p><code>true || true</code> // vrai
<code>true || false</code> // vrai
<code>false || true</code> // vrai
<code>false || false</code> // faux</p>
<p>JavaScript calcule les valeurs de gauche à droite. Il renvoie la première vraie valeur rencontrée. </p>
<p><code>null || 1</code> // 1
<code>undefined || 0 || 2 || 5</code> // 2</p>
<p>Si aucun opérande n'est vrai, la dernière valeur est renvoyée. </p>
<p><code>null || undefined || 0</code> // 0</p>
<p><strong><code>!</code> (non)</strong></p>
L'opérateur <p><code>!</code> inverse la valeur booléenne de l'opérande. Il convertit l'opérande en une valeur booléenne (<code>true</code> ou <code>false</code>) et renvoie la valeur opposée. </p>
<p><code>!true</code> // faux
<code>!0</code> // vrai
<code>if (!true) {</code>
<code>console.log("This won't run.");</code>
<code>}</code></p>
<p><strong>Opérateur de coalescence de valeur nulle : <code>??</code></strong></p>
<p>L'opérateur de coalescence nul <code>??</code> est un opérateur plus récent (ES2020). Cela aide à gérer les situations où vous devez vérifier si une valeur est <code>null</code> ou <code>undefined</code> et renvoyer la valeur par défaut. </p>
<p>Syntaxe : <code>let value = a ?? b;</code></p>
<p>Si <code>a</code> n'est ni <code>null</code> ni <code>undefined</code>, retournez <code>a</code>.
Si <code>a</code> est <code>null</code> ou <code>undefined</code>, alors <code>b</code> est renvoyé. </p>
<p> Cet opérateur est utile car il gère spécifiquement <code>null</code> ou <code>undefined</code> et n'est pas affecté par les fausses valeurs telles que <code>0</code>, <code>""</code> ou <code>false</code>, alors que l'opérateur <code>||</code> (ou) Les traite comme faux et les remplace par la deuxième valeur. </p>
<p><code>let height = 0;</code>
<code>alert(height || 100); // 100 (因为 0 是假值)</code>
<code>alert(height ?? 100); // 0 (因为 0 不是 null 或 undefined)</code></p>
<p><code>||</code> Renvoie la première vraie valeur
<code>??</code> Renvoie la première valeur définie </p>
<p><strong>Opérateur ternaire : <code>? :</code></strong></p>
<p>Syntaxe : <code>let result = condition ? value1 : value2;</code></p>
<p>La condition est évaluée. Si vrai, renvoie <code>value1</code> ; sinon, renvoie <code>value2</code>. </p>
<p>L'opérateur ternaire est concis et clair, et est généralement utilisé pour une simple affectation conditionnelle. Par exemple : </p>
<p><code>const className = isActive ? "red" : "blue";</code></p>
<p>Cependant, il n'est pas recommandé d'utiliser l'opérateur ternaire pour exécuter différents blocs de code (comme les instructions <code>if</code>). Cela se traduit par un code moins lisible. </p>
Les opérateurs <p><code>||</code> et <code>??</code> semblent parfois produire des résultats similaires, mais ils ne peuvent pas être utilisés de manière interchangeable. L'opérateur <code>&&</code> renvoie la première valeur fausse qu'il rencontre, tandis que l'opérateur <code>??</code> renvoie la deuxième valeur uniquement si la première valeur est <code>null</code> ou <code>undefined</code>. En fonction du comportement que vous souhaitez obtenir, il est important de réfléchir soigneusement à l'opérateur à utiliser. </p>
<p><img src="https://img.php.cn/upload/article/000/000/000/173777947349716.jpg" alt="Understanding JavaScript Operators: From Arithmetic to Ternary"></p>
</li>
</ol>
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!