JavaScript: Porównanie równości między dwoma obiektami / macierzą
Zgadnijmy dwa obiekty o tej samej właściwości:
<code>var x = {a : 'some'}, y = {a: 'some'}; </code>
wydajność:
x == y;
ix === y;
oba dają fałsz
Podobnie dla dwóch tablic,
<code>var p = [1, 2, 3], q = [1,2,3]; </code>
p == q
ip === q
obaj dająfalse
.
Ale jeśli wykonam następujące czynności:
<code>var x = y = {a: 'some'}; var p = q = [1, 2, 3]; </code>
Wszystkie powyższe porównania dajątrue
.
Dlaczego Javascript robi takie rzeczy? Wytłumacz, proszę.