As gdoron pointed out,
var a = "a";
var b = "b";
a = [b][b = a,0];
Will swap a
and b
, and although it looks a bit of hacky, it has triggered my curiosity and I am very curious at how it works. It doesn't make any sense to me.
var a = "a";
var b = "b";
a = [b][b = a, 0];
Let's break the last line into pieces:
[b] // Puts b in an array - a safe place for the swap.
[b = a] // Assign a in b
[b = a,0] // Assign a in b and return the later expression - 0 with the comma operator.
so finally it is a =[b][0]
- the first object in the [b]
array => b
assigned to a
Live DEMO
read @am not I am comments in this question:
When is the comma operator useful?
It's his code...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With