Javascript: comparação de igualdade entre dois objetos / matriz
Vamos adivinhar dois objetos com a mesma propriedade:
<code>var x = {a : 'some'}, y = {a: 'some'}; </code>
saída:
x == y;
ex === y;
ambos dão falso
Da mesma forma para dois array,
<code>var p = [1, 2, 3], q = [1,2,3]; </code>
p == q
ep === q
ambos dãofalse
.
Mas para se eu fizer seguinte:
<code>var x = y = {a: 'some'}; var p = q = [1, 2, 3]; </code>
Todas as comparações acima dãotrue
.
Por que o Javascript faz tal coisa? Explique por favor.