Почему {} + [] отличается от ({} + [])? [Дубликат]

На этот вопрос уже есть ответ здесь:

Как объяснить причудливое поведение JavaScript, упомянутое в выступлении «Wat» для CodeMash 2012? 5 ответов

Я был недавно встревожен, чтобы обнаружить следующее:

> {}+[]
0

> ({}+[])
"[object Object]"

> {}+[]+1
1

> ({}+[])+1
'[object Object]1'

> {}+[] == ({}+[])
false

Почему завершение чего-либо в скобках меняет его тип?

Ответы на вопрос(1)

Ваш ответ на вопрос