Définissez plusieurs variables à la même valeur dans Javascript

J'ai initialisé plusieurs variables dans la portée globale dans un fichier Javascript:

var moveUp, moveDown, moveLeft, moveRight; var mouseDown, touchDown; 

Je dois mettre toutes ces variables en faux, c'est le code que j'ai actuellement:

 moveUp = false; moveDown = false; moveLeft = false; moveRight = false mouseDown = false; touchDown = false; 

Est-ce que je peux définir toutes ces variables à la même valeur dans une seule ligne de code, ou c'est le code que j'ai actuellement le meilleur moyen de le faire?

Rien ne vous empêche de faire

 moveUp = moveDown = moveLeft = moveRight = mouseDown = touchDown = false; 

Vérifiez ce violon:

Rien ne vous empêche de faire ce qui précède, mais résistez!

Il y a des pièges. L'affectation en Javascript est de droite à gauche, alors lorsque vous écrivez:

 var moveUp = moveDown = moveLeft = moveRight = mouseDown = touchDown = false; 

Il se traduit effectivement par:

 var moveUp = (moveDown = (moveLeft = (moveRight = (mouseDown = (touchDown = false))))); 

Qui se traduit effectivement par:

 var moveUp = (window.moveDown = (window.moveLeft = (window.moveRight = (window.mouseDown = (window.touchDown = false))))); 

Inadvertenemment, vous venez de créer trois 5 variables globales: quelque chose que je suis plutôt sûr de ne pas vouloir faire.

Longue histoire courte, vous devez vous en tenir à la longue voie. C'est moche, il y a plus de personnages à taper, mais au moins tu ne vas pas encombrer l'espace de noms global et obtenir des regards étranges d'autres personnes (jk).

En outre, comme indiqué dans les commentaires (et ce n'est pas seulement dans le cas de cette question), chaque fois que vous assignez des objets à une variable, la référence est copiée et les deux variables indiquent toujours le même objet, de sorte que tout changement dans une variable sera reporter.