Maison >interface Web >js tutoriel >Opérateur « || » de JavaScript : en quoi diffère-t-il d'un OU logique standard ?

Opérateur « || » de JavaScript : en quoi diffère-t-il d'un OU logique standard ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-25 14:33:10672parcourir

JavaScript's `||` Operator:  How Does it Differ from a Standard Logical OR?

Opérateur OU logique (||) vs variante de JavaScript

Comprendre l'opérateur double tuyau (||)

Dans la plupart des langages de programmation, l'opérateur double tube (||) représente l'opérateur logique OU. Il évalue deux valeurs booléennes et suit ces règles :

  • Si la première valeur est fausse, il vérifie la deuxième valeur. Si c'est vrai, cela renvoie vrai ; sinon, faux.
  • Si la première valeur est vraie, elle renvoie vrai quelle que soit la deuxième valeur.

Interprétation de JavaScript

Cependant , poignées JavaScript || différemment parce que c'est un langage peu typé. Cela signifie :

  • Valeurs non booléennes : JavaScript permet d'utiliser || avec des valeurs non booléennes. Si la valeur est fausse (par exemple, 0, "", null), elle est traitée comme fausse ; sinon, comme vrai.
  • Modification du résultat : JavaScript || l'opérateur renvoie la deuxième valeur si la première valeur est fausse ; sinon, il renvoie la première valeur.

Exemple :

(function(){}) || {}  // True (empty function is truthy)

Utilisation pratique en JavaScript

Fonction par défaut Paramètres :

function (title, msg) {
  var title = title || 'Error';  // Assigns 'Error' if title is falsy
  var msg = msg || 'Error on Request';  // Assigns 'Error on Request' if msg is falsy
}

Mauvaises pratiques de programmation :

Attribution || les expressions directement dans les variables sont déconseillées car elles empêchent de transmettre de fausses valeurs en tant que paramètres. Considérez cette fonction :

function badFunction(flagA) {
  flagA = flagA || true;  // FlagA always becomes true, even if passed false
}

Meilleures pratiques :

Utilisez plutôt des vérifications explicites de fausseté :

function goodFunction(flagA) {
  flagA = typeof flagA !== "undefined" ? flagA : true;  // Sets to true only if undefined
}

Syntaxe ES6 pour Défaut Paramètres :

function goodFunction(flagA = true) {  // Sets to true only if omitted
}

Conclusion :

JavaScript || L’opérateur a un comportement unique par rapport aux autres langages. Bien que pratique pour définir des valeurs par défaut, il doit être utilisé avec prudence pour éviter des résultats inattendus et des remplacements de valeurs erronées.

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!

Déclaration:
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