Sie können zwei Variablen gleichzeitig mit demselben Wert initialisieren:
var foo, bar; foo = bar = 10;
Es gibt jedoch keinen ähnlich einfachen Mechanismus, um beispielsweise 5 zu beiden foo
und bar
gleichzeitig hinzuzufügen . Natürlich ist es einfach genug, nur Folgendes zu tun:
foo += 5; // foo is now 15 bar += 5; // bar is now 15
Aber das sind zwei Operationen.
Der Trick ist:
foo += -bar + (bar += 5); // foo and bar are now 15
Sie werden das wahrscheinlich nie brauchen, es ist nur interessant zu wissen, dass es möglich ist.
Vielen Dank an Matheus Avellar für den kleinen Trick, der auch erklärt:
Das
-bar
wird analysiert und wird zum negativen Wert vonbar
, also -10. Läufta += 5
dann und setztbar
auf 15 (10 + 5). Schließlich summiert es beide Werte (-10 + 15) und gibt Ihnen den Unterschied zwischen altbar
und neubar
, nämlich 15.