Неявное преобразование объектов почему работает по-разному?
В неявном преобразовании объектов приводятся к примитиву обе стороны, а потом происходит вычисление операции.
Если {} + {} // NaN , то есть обе стороны преобразуются к числу.
А в этом случае [] + {} // "[object Object]" , то есть правая часть преобразуется в строку, хотя по логике должно к числу, и выводить строку "NaN".
Почему так происходит?