L'opérateur logique OR (ou ) en JavaScript est un opérateur qui renvoie le côté si le côté gauche est , mais sinon par défaut et renvoie le côté droit. || gauche truey Cela signifie qu'il peut être utilisé pour tester les deux instructions logiques, et également pour renvoyer l'opérande de droite si celui de gauche est . falsy Voyons comment cela fonctionne. Qu'est-ce que la vérité et la fausseté signifient réellement en JavaScript Avant de continuer, commençons par comprendre ce . Cela peut sembler une déclaration vague, mais il a en fait une définition très précise. Les valeurs suivantes sont en JavaScript : falsy falsy false ou ou 0 -0 0n chaîne vide, c'est-à-dire any "" null undefined NaN De même, signifie simplement tout ce qui . truthy n'est pas falsy Étant donné que peut signifier et , cela peut parfois être un mauvais choix pour définir des valeurs par défaut. falsy 0 "" Par exemple, dans certains scénarios, si votre valeur est vraiment et que vous voulez l'afficher, vous ne pourrez pas le faire avec le opérateur. Pour ces cas, il est préférable de considérer l'opérateur de coalescence nul. 0 || Comment fonctionne l'opérateur OU logique en JavaScript ? Comme mentionné, le L'opérateur a deux fonctions principales en JavaScript. Le plus souvent, il se trouve dans les instructions logiques , où il renvoie true si un ou plusieurs de ses opérandes est , mais il est également utilisé pour renvoyer la première valeur si elle est , ou par défaut sur le côté droit opérande sinon. || if..else truthy truthy Le fonctionne de ces deux manières car il renvoie en fait une valeur. || Utiliser le OU logique avec la logique Vous aurez probablement vu le plus couramment utilisé dans les instructions logiques comme et . Dans ces cas, nous testons généralement une instruction logique, donc renverra si un ou plusieurs de ses opérandes sont . || if else || true truthy Ce qui se passe ci-dessous est le L'opérateur renvoie une valeur, que l'instruction convertit ensuite en ou || if true false let x = 100; // This returns true, since both of these statements are correct. if(x > 5 || x > 10) { // ... } // Since both "1" and "2" can be converted to true, this also returns true in this context. if("1" || "2") { // ... } // Since both "" and null are falsy, they are converted to false, and as such this returns false. if("" || null) { // ... } C'est l'une des principales façons d'utiliser dans votre code, mais il est également fréquemment utilisé pour renvoyer des valeurs en fonction de leur degré de ou . || truthy falsy Valeurs renvoyées Regardons maintenant un autre exemple, en dehors des déclarations logiques. Comme mentionné, renvoie son côté gauche s'il est , mais sinon renvoie son côté droit. || truthy Cela semble un peu déroutant, alors regardons quelques exemples. // Is set to 1, since the first operand is falsy let x = false || 1; // Is set to hello, since "hello" is truthy let y = "hello" || true; Dans l'exemple ci-dessus, puisque a son côté gauche défini sur , devient 1. De même, dans puisque n'est pas , la valeur de est . Cette fonctionnalité est différente de son application dans les instructions logiques et les instructions , mais peut être utile dans de nombreuses situations. x false x y "hello" falsy y "hello" if..else Fait intéressant, même si le dernier élément donné est , JavaScript le renverra toujours. falsy Par exemple: // Is set to null since false is falsy let x = false || null; // Is set to false since 0 is falsy let y = 0 || false; Chaînage de l'opérateur OR Il est possible de chaîner les opérateur en JavaScript. Lors du chaînage d'instructions logiques (dans les clauses ), l'instruction renverra true si un élément chaîné est : || if..else truthy // This works since both "1" and true are truthy if("1" || true || false) { // ... console.log('this works') } // This doesn't work since all values are falsy if(false || null || undefined) { console.log('this does not work'); } Lorsque nous utilisons enchaîné en dehors des instructions logiques, il utilisera la première valeur trouvée, ou par défaut la valeur finale. Par exemple, ci-dessous, est égal à , est et est . Si vous vous demandez pourquoi est , c'est parce que tout ce qui n'est pas est , ce qui signifie qu'un objet est ! || truthy x 3 y true z {} z {} falsy truthy truthy // x is set to 3 let x = false || 0 || 3; // y is set to true let y = false || true || 3; // z is set to {} let z = {} || [] || x; Conclusion Le L'opérateur est fréquemment utilisé dans les instructions logiques, ainsi que par défaut sur des valeurs non si une est trouvée. C'est un opérateur flexible qui est essentiel pour comprendre JavaScript. Si vous êtes intéressé par un autre opérateur similaire, vous pouvez également lire sur l' . || falsy opérateur de coalescence nullish