Maison >interface Web >js tutoriel >Quand le || L'opérateur agit-il comme opérateur par défaut en JavaScript ?
Comprendre le but du || Opérateur avec opérandes non booléens en JavaScript
En JavaScript, le || L'opérateur, souvent appelé opérateur logique OU, est généralement utilisé pour évaluer les expressions booléennes. Cependant, vous pouvez rencontrer des cas où le || L'opérateur || est utilisé avec des valeurs non booléennes.
Dans de tels scénarios, le || L'opérateur se comporte comme un opérateur "par défaut". Au lieu de renvoyer un booléen, il renvoie l'opérande gauche ou droit en fonction de certaines règles.
Considérez l'exemple suivant provenant d'une grande bibliothèque JS qui effectue des opérations de dessin dans un canevas :
var $time = Date.now || function() { return +new Date; };
Dans cet exemple, le || L’opérateur est utilisé pour attribuer une valeur à la variable $time. Si la méthode Date.now existe sur l'objet Date, elle sera affectée à la variable $time. Sinon, une fonction anonyme qui renvoie l'heure actuelle est attribuée à la place.
La clé pour comprendre ce comportement réside dans la compréhension que l'opérateur OR renvoie la première valeur vraie ou la dernière valeur fausse dans ses opérandes. Dans ce cas, la méthode Date.now est une valeur véridique (en supposant qu'elle existe), elle est donc renvoyée. Si Date.now n'existe pas, la fonction anonyme devient la valeur vraie et est renvoyée.
Cette utilisation du || L'opérateur en tant qu'opérateur par défaut est répandu en JavaScript et correspond à son objectif en tant que moyen de spécifier des valeurs par défaut. Par exemple, vous pouvez l'utiliser pour attribuer une valeur à une variable si une propriété spécifique n'est pas définie :
var user = user || { name: "Unknown User" };
En comprenant le || comportement de l'opérateur avec des opérandes non booléens, vous pouvez exploiter ses fonctionnalités pour fournir des affectations de valeurs dynamiques et polyvalentes dans votre code 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!