Adicionar um número a duas variáveis ​​de uma vez - CSS-Tricks

Anonim

Você pode inicializar duas variáveis ​​com o mesmo valor de uma vez, tipo:

var foo, bar; foo = bar = 10;

Mas não existe um mecanismo igualmente fácil para adicionar, digamos, 5 a ambos fooe barao mesmo tempo. Claro, é simples o suficiente apenas fazer:

foo += 5; // foo is now 15 bar += 5; // bar is now 15

Mas são duas operações.

O truque é:

foo += -bar + (bar += 5); // foo and bar are now 15

Você provavelmente nunca precisará disso, é apenas interessante saber que é possível.

Obrigado a Matheus Avellar por enviar este pequeno truque alucinante, que também explica:

O -baré analisado e se torna o valor negativo de bar, portanto, -10. Em seguida, a += 5é executado e definido barpara 15 (10 + 5). Por fim, ele soma os dois valores (-10 + 15) e fornece a diferença entre o antigo bare o novo bar, que é 15.