Javascript: сравнение равенства между двумя объектами / массивами

Давайте угадать два объекта с одинаковым свойством:

<code>var x = {a : 'some'},
      y = {a: 'some'};
</code>

выход:

x == y; а такжеx === y; оба дают ложные

Аналогично для двух массивов,

<code>var p = [1, 2, 3],
      q = [1,2,3];
</code>

p == q а такжеp === q оба даютfalse.

Но если я сделаю следующее:

<code>var x = y = {a: 'some'};
var p = q = [1, 2, 3];
</code>

Все приведенные выше сравнения даютtrue.

Почему Javascript делает такую вещь? Объясните пожалуйста.

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

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