ZeBrian Posté 30 Août 2007 Posté 30 Août 2007 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
MarvinLeRouge Posté 31 Août 2007 Posté 31 Août 2007 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
ZeBrian Posté 31 Août 2007 Auteur Posté 31 Août 2007 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant