DEV Community

Discussion on: Write a function that shows off something unique or interesting about the language you're using

Collapse
 
dance2die profile image
Sung M. Kim • Edited

JavaScript lets you swap variables without a temporary variable.

$ node
> let a = 1, b = 999
undefined
> [b, a] = [a, b]
[ 1, 999 ]
> a
999
> b
1
Collapse
 
dwd profile image
Dave Cridland

So does C:

int a = 1, b = 999;
a ^= b;
b ^= a;
a ^= b;

OK, so this is specific to numeric values, actually, but it comes in handy in cryptographic code for constant time conditional swaps and things.

Collapse
 
dance2die profile image
Sung M. Kim

Thanks Dave.
There is no end to learning.
I feel humbled :)

Collapse
 
rhymes profile image
rhymes

Same in Python

>>> [a, b] = [1, 999]
>>> a, b
(1, 999)
>>> [b, a] = [a, b]
>>> a, b
(999, 1)
Collapse
 
dance2die profile image
Sung M. Kim

Python has been on my mind lately. That's yet another good reason ;p