In C # (not sure about javascript) the following happens:
var persona = {nome:"Mario", indirizzo:{citta:"Venezia"}}
Creates a new object , however persona.indirizzo is not the object itself, but simply a reference to it (the actual object is somewhere on the stack).
var riferimento = persona.indirizzo;
creates a NEW reference to the object that persona.indirizzo points to.
Due to clearing the link in person, the new link does not change.
source
share