Rien ne vous empêche de faire ce qui précède, mais attendez!
Il y a des pièges. L'affectation en Javascript se fait de droite à gauche, donc lorsque vous écrivez:
var moveUp = moveDown = moveLeft = moveRight = mouseDown = touchDown = false;
cela se traduit effectivement par:
var moveUp = (moveDown = (moveLeft = (moveRight = (mouseDown = (touchDown = false)))));
ce qui se traduit effectivement par:
var moveUp = (window.moveDown = (window.moveLeft = (window.moveRight = (window.mouseDown = (window.touchDown = false)))));
Par inadvertance, vous venez de créer 5 variables globales - ce que je suis sûr que vous ne vouliez pas faire.
Remarque: mon exemple ci-dessus suppose que vous exécutez votre code dans le navigateur, par conséquent window. Si vous deviez être dans un environnement différent, ces variables s'attacheraient à quel que soit le contexte global se trouve être pour cet environnement (c'est-à-dire, dans Node.js, il s'attacherait à globalquel est le contexte global pour cet environnement).
Maintenant, vous pouvez d'abord déclarer toutes vos variables, puis les affecter à la même valeur et vous pouvez éviter le problème.
var moveUp, moveDown, moveLeft, moveRight, mouseDown, touchDown;
moveUp = moveDown = moveLeft = moveRight = mouseDown = touchDown = false;
En bref, les deux méthodes fonctionneraient très bien, mais la première méthode pourrait potentiellement introduire des bogues pernicieux dans votre code. Ne commettez pas le péché de joncher l'espace de noms global avec des variables locales si ce n'est absolument nécessaire.
Note de bas de page: Comme indiqué dans les commentaires (et ce n'est pas seulement dans le cas de cette question), si la valeur copiée en question n'était pas une valeur primitive mais plutôt un objet, vous feriez mieux de connaître la copie par valeur vs la copie par référence. À chaque affectation d'objets, la référence à l'objet est copiée à la place de l'objet réel. Toutes les variables pointeront toujours vers le même objet, donc tout changement dans une variable sera reflété dans les autres variables et vous causera un mal de tête majeur si votre intention était de copier les valeurs de l'objet et non la référence.