Nada te impide hacer lo anterior, ¡pero espera!
Hay algunas trampas. La asignación en Javascript es de derecha a izquierda, así que cuando escribes:
var moveUp = moveDown = moveLeft = moveRight = mouseDown = touchDown = false;
se traduce efectivamente a:
var moveUp = (moveDown = (moveLeft = (moveRight = (mouseDown = (touchDown = false)))));
que efectivamente se traduce en:
var moveUp = (window.moveDown = (window.moveLeft = (window.moveRight = (window.mouseDown = (window.touchDown = false)))));
Sin darse cuenta, acaba de crear 5 variables globales, algo que estoy seguro de que no quería hacer.
Nota: Mi ejemplo anterior supone que está ejecutando su código en el navegador, por lo tanto window. Si estuviera en un entorno diferente, estas variables se unirían a cualquier contexto global para ese entorno (es decir, en Node.js, se vincularía a globalcuál es el contexto global para ese entorno).
Ahora primero puede declarar todas sus variables y luego asignarlas al mismo valor y puede evitar el problema.
var moveUp, moveDown, moveLeft, moveRight, mouseDown, touchDown;
moveUp = moveDown = moveLeft = moveRight = mouseDown = touchDown = false;
En pocas palabras, ambas formas funcionarían bien, pero la primera podría potencialmente introducir algunos errores perniciosos en su código. No cometa el pecado de ensuciar el espacio de nombres global con variables locales si no es absolutamente necesario.
Nota al margen: Como se señaló en los comentarios (y esto no es solo en el caso de esta pregunta), si el valor copiado en cuestión no era un valor primitivo sino un objeto, es mejor que conozca copia por valor versus copia por referencia. Cada vez que se asignan objetos, la referencia al objeto se copia en lugar del objeto real. Todas las variables seguirán apuntando al mismo objeto, por lo que cualquier cambio en una variable se reflejará en las otras variables y le causará un gran dolor de cabeza si su intención era copiar los valores del objeto y no la referencia.