Почему сравнение {} и [] показывает ошибку?

В свободное время я просто играл с консолью js и получил неожиданную ошибку:

js> [] == {}
false

js> {} == []
typein:5: SyntaxError: syntax error:

Я пробовал с ===:

js> [] === {}
false
js> {} === []
typein:9: SyntaxError: syntax error:

Я думаю неправильно здесь?

Я тестировал это с Firefox, Chrome и jscore.


person Renjith Thankachan    schedule 12.02.2017    source источник


Ответы (1)


Это потому, что во втором случае {} интерпретируется как блок кода, а не как объект.

Если вы попробуете ({}) == [], все будет отлично.

js> ({}) == []
false
js> ({}) === []
false
person JCOC611    schedule 12.02.2017