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.