Javascript: Comparación de igualdad entre dos Objetos / Array

Adivinemos dos objetos con la misma propiedad:

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

salida:

x == y; yx === y; ambos dan falso

Del mismo modo para dos matrices,

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

p == q yp === q ambos danfalse.

Pero si hago lo siguiente:

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

Todas las comparaciones anteriores dantrue.

¿Por qué Javascript hace tal cosa? Explique por favor.

Respuestas a la pregunta(3)

Su respuesta a la pregunta