Anda boleh memulakan dua pemboleh ubah dengan nilai yang sama sekaligus, agaknya:
var foo, bar; foo = bar = 10;
Tetapi tidak ada mekanisme yang mudah untuk menambah, katakanlah, 5 untuk keduanya foo
dan bar
pada masa yang sama. Sudah tentu, cukup mudah untuk dilakukan:
foo += 5; // foo is now 15 bar += 5; // bar is now 15
Tetapi itu adalah dua operasi.
Caranya ialah:
foo += -bar + (bar += 5); // foo and bar are now 15
Anda mungkin tidak akan memerlukannya, hanya menarik untuk mengetahui bahawa mungkin.
Terima kasih kepada Matheus Avellar kerana menghantar helah mindbending kecil ini, yang juga menjelaskan:
Nilai
-bar
dihuraikan dan menjadi nilai negatifbar
, jadi -10. Kemudian,a += 5
jalankan dan tetapkanbar
ke 15 (10 + 5). Akhirnya, ia merangkum kedua-dua nilai (-10 + 15) dan memberi anda perbezaan antara lamabar
dan barubar
, iaitu 15.