Hint
+ is overloaded (concat/add). If either side is a string, it concatenates. - always forces numbers.
console.log(1 + '2');
console.log('3' - 1);
console.log(true + true);
console.log([] + []);
console.log([] + {});
console.log({} + []);"12" 2 2 "" "[object Object]" 0
Explanation: 1+'2': number+string = string concat "12".
'3'-1: - forces numeric, 3-1=2.
true+true: true coerces to 1, 1+1=2.
[]+[]: both to string "", ""+"" = "".
[]+{}: ""+"[object Object]".
{}+[]: {} parsed as empty block, +[] = +0 = 0.
Key Insight: + is overloaded (concat/add). If either side is a string, it concatenates. - always forces numbers.