che segue è fatto in Firebug:In Javascript, perché [1, 2] == [1, 2] o ({a: 1}) == ({a: 1}) falso?
>>> [1, 2] == [1, 2]
false
>>> ({a : 1}) == ({a : 1})
false
ho pensato javscript ha qualche regola che dice che, se un oggetto o array ha gli stessi riferimenti agli stessi elementi, allora sono uguali?
Ma anche se io dico
>>> foo = {a : 1}
Object { a=1}
>>> [foo] == [foo]
false
>>> ({a: foo}) == ({a: foo})
false
C'è un modo per fare in modo che esso possa fare il confronto elemento e tornare true
?
letterali oggetto creano nuove istanze, definendo due istanze non li fanno condividere lo stesso riferimento. – zzzzBov
non sono gli "elementi interni" che devono essere uguali? –