Puede inicializar dos variables al mismo valor a la vez, un poco:
var foo, bar; foo = bar = 10;
Pero no existe un mecanismo igualmente fácil para agregar, digamos, 5 a ambos foo
y bar
al mismo tiempo. Por supuesto, es lo suficientemente simple como para hacer:
foo += 5; // foo is now 15 bar += 5; // bar is now 15
Pero son dos operaciones.
El truco es:
foo += -bar + (bar += 5); // foo and bar are now 15
Probablemente nunca necesitará esto, es interesante saber que es posible.
Gracias a Matheus Avellar por enviar este pequeño truco alucinante, quien también explica:
Se
-bar
analiza y se convierte en el valor negativo debar
, por lo que -10. Luego, sea += 5
ejecuta y se establecebar
en 15 (10 + 5). Finalmente, suma ambos valores (-10 + 15) y le da la diferencia entre lo antiguobar
y lo nuevobar
, que es 15.