Anda dapat menginisialisasi dua variabel ke nilai yang sama sekaligus, seperti:
var foo, bar; foo = bar = 10;
Tetapi tidak ada mekanisme yang sama mudahnya untuk menambahkan, katakanlah, 5 ke keduanya foo
dan bar
pada saat yang sama. Tentu saja, cukup sederhana untuk melakukannya:
foo += 5; // foo is now 15 bar += 5; // bar is now 15
Tapi itu dua operasi.
Triknya adalah:
foo += -bar + (bar += 5); // foo and bar are now 15
Anda mungkin tidak akan pernah membutuhkan ini, hanya menarik untuk mengetahui itu mungkin.
Terima kasih kepada Matheus Avellar yang mengirimkan trik kecil untuk mengatur pikiran ini, yang juga menjelaskan:
Itu
-bar
diurai dan menjadi nilai negatif daribar
, jadi -10. Kemudian,a += 5
lari dan setbar
ke 15 (10 + 5). Terakhir, ini merangkum kedua nilai (-10 + 15) dan memberi Anda perbedaan antara lamabar
dan barubar
, yaitu 15.