Maison > interface Web > js tutoriel > L'opérateur logique OU (||) en JavaScript peut-il gérer les opérandes non booléens ?

L'opérateur logique OU (||) en JavaScript peut-il gérer les opérandes non booléens ?

Susan Sarandon
Libérer: 2024-10-18 11:50:02
original
1022 Les gens l'ont consulté

Can the Logical OR (||) Operator in JavaScript Handle Non-Boolean Operands?

Opérateur logique OU (||) et opérandes non booléens

En JavaScript, l'opérateur logique OU (||) est couramment utilisé pour évaluer des expressions booléennes. Cependant, il peut également être appliqué à des opérandes non booléens, conduisant à des résultats inattendus.

Considérez le code suivant :

<code class="javascript">var $time = Date.now || function() {
  return +new Date;
};</code>
Copier après la connexion

Dans cet exemple, le || L’opérateur est utilisé pour attribuer une fonction à la variable $time. L'expression évalue le résultat de Date.now s'il existe (c'est-à-dire qu'il n'est pas nul ou indéfini), sinon il exécute la fonction anonyme, qui renvoie l'horodatage actuel.

La raison de ce comportement réside dans le rôle secondaire du || opérateur comme opérateur « par défaut ». Lorsque les deux opérandes ne sont pas booléens, il renvoie l'opérande de gauche s'il est vrai (non nul, non défini, la chaîne vide ou 0), et l'opérande de droite si l'opérande de gauche est faux.

Dans le code donné, Date.now est une valeur véridique, donc l'opérande de gauche est renvoyé, qui est la fonction Date.now d'origine. Cependant, si Date.now n'était pas disponible (par exemple, dans les anciens navigateurs), l'opérande de droite, qui est la fonction anonyme, aurait été exécuté à la place.

Cette utilisation du || L'opérateur permet aux développeurs de spécifier des valeurs par défaut ou des comportements de secours de manière concise. Par exemple, le code suivant attribue une valeur à la variable v, mais si v n'est pas défini, il définit la valeur sur 10 :

<code class="javascript">value = v || 10;</code>
Copier après la connexion

De même, le code suivant protège contre l'accès à une propriété d'un nullable objet :

<code class="javascript">var value = p &amp;&amp; p.name;</code>
Copier après la connexion

En conclusion, le || L'opérateur (OU logique) en JavaScript peut également être utilisé avec des opérandes non booléens, où il évalue l'opérande de gauche s'il est véridique, ou l'opérande de droite dans le cas contraire. Ce comportement peut être utile pour spécifier des valeurs par défaut et écrire du code null-safe.

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!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal