Ответ 1
Это потому, что во втором случае {}
интерпретируется как кодовый блок, а не объект.
Если вы попробуете ({}) == []
, это будет просто отлично.
js> ({}) == []
false
js> ({}) === []
false
В свободное время я просто играл с консолью js, я получил непредвиденную ошибку:
js> [] == {}
false
js> {} == []
typein:5: SyntaxError: syntax error:
Я попытался с ===
:
js> [] === {}
false
js> {} === []
typein:9: SyntaxError: syntax error:
Думаете ли вы здесь неправильно?
Я тестировал это с помощью Firefox, Chrome и jscore.
Это потому, что во втором случае {}
интерпретируется как кодовый блок, а не объект.
Если вы попробуете ({}) == []
, это будет просто отлично.
js> ({}) == []
false
js> ({}) === []
false