Est-ce correct? L'affectation b appartient-elle à b déjà déclaré?Affectation de var Javascript
var a, b;
//...later
a = 3, b = a * 4;
Ou il doit être comme ça?
var a, b;
//...later
a = 3;
b = a * 4;
Est-ce correct? L'affectation b appartient-elle à b déjà déclaré?Affectation de var Javascript
var a, b;
//...later
a = 3, b = a * 4;
Ou il doit être comme ça?
var a, b;
//...later
a = 3;
b = a * 4;
mentionnant MDN:
L'opérateur virgule évalue chacune de ses opérandes (de gauche à droite) et retourne la valeur de la dernière opérande.
Ainsi, b = a * 4
sera évalué après a = 3
et conduirait donc à 12.
La différence entre les 2 versions est que celle-ci se compose d'une instruction supplémentaire. Si vous tapez ces instructions l'une après l'autre dans un REPL, vous verrez l'instruction a = 3
évaluée comme 3, ce qui ne se produira pas dans l'ancienne version.
Les deux fonctionnent. Vous n'avez pas besoin de suivre la même convention lorsque vous déclarez les variables lorsque vous les utilisez. –
Cela fonctionne bien la première façon. Vous auriez pu tout aussi facilement le tester par vous-même. – MinusFour
il est conseillé de ne pas utiliser l'opérateur virgule sur des expressions comme celle-ci, car il est moins lisible pour la plupart des codeurs que des sections distinctes utilisant des points-virgules. C'est l'une des raisons pour lesquelles le code uglify'd est difficile à lire. – dandavis