"" == 0 is true, 0 == "0" is true, but "" == "0" is false (by Felix Gessert on Quora)
> '10' - 5
5
> '10' + 5
'105'
Or
> 'a' + + 'b'
'aNaN'
> '10' + + '5'
'105'
> '10' + - '5'
'10-5'
> 10 + - + - + - 5
5
> 10 + - + - + - - 5
15
> '10' + - + - + - '5'
'10-5'
> '10' + - + - + - '-5'
'105'
[] + [] → ''
[] + {} → '[object Object]'
{} + [] → 0
Nope.
{} + {} → NaN
> arr = ['10', '10', '10'];
> arr.map(parseInt);
[10, NaN, 2]
Comparing Java and JavaScript is like comparing ham and hamster.