{} + 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.