Почему разный результат {}+[] и []+{}?
Если нет проблем с инглишем: 2ality.com/2012/01/object-plus-object.html
Подвох здесь в том, что если фигурные скобки {...} идут не в выражении, а в основном потоке кода, то JavaScript считает, что это не объект, а «блок кода» (как if, for, но без оператора, просто группировка команд вместе, используется редко).{} + [] // = + [] - что преобрузуется в "0"[] + {} - будет "[object Object]"