Aller au contenu

Opérateur ||


ZeBrian

Sujets conseillés

Bonjour tout le monde,

J'utilise souvent dans mes codes JavaScript la syntaxe suivante, qui fait que a vaut b, sauf s'il n'est pas défini ou est de valeur nulle (quel que soit son type) et dans ce cas on recommence avec c et, à défaut, on stocke la valeur de d :

var a = b || c || d;

Cela me permet de réduire considérablement la taille des codes destinés à la compatibilité entre navigateurs, par exemple pour obtenir le style d'un objet :

var computedStyle = this.currentStyle || window.getComputedStyle(this, '');

Seulement, je ne vois jamais cette syntaxe utilisée sur tous les bouts de code que j'ai pu voir sur le net ! Est-elle déconseillée et si oui pourquoi ?

Merci

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Je ne pense pas qu'elle soit particulièrement déconseillée. Ceci dit, c'est vrai que c'est une utilisation originale du "OU" : on pense généralement à lui pour un résultat effectivement booléen (vrai ou faux), et non pour récupérer un résultat "interprétable comme vrai ou faux" (chose dont la définition est variable suivant les langages et le typage des variables).

A mon avis, ça marche comme tu l'indiques en raison de la méthode d'évaluation d'une expression booléenne. Comme c'est un "OU", il suffit qu'un de ses membres soit "VRAI" pour que l'expression le soit; l'interpréteur s'arrêtera donc automatiquement dès qu'un membre VRAI sera trouvé, et la variable résultat vaudra donc logiquement la même chose que cette variable.

En tout cas, merci pour ce "truc", j'essaierai de m'en souvenir :D

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Ton explication me semble très valable en effet ! JavaScript est décidément un langage très bien foutu quand on le connaît bien :P

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...