{} + 5 === 5
5 + {} === '5[object Object]'
How is the first expression {} + 5 === 5
calculated?
The second expression 5 + {} === '5[object Object]'
is expected result.
===== Edit ====
({}) + 5 === '[object Object]5'
Which might be to say: {}
in first expression was ignored as the question comment says.