Tach!
Auch Eigenschaften die wiederum Objekt sind werden nicht referenziert.
Object.assign(data, {a: { x: 5, y: 9 }, d:6});
Wenn du data.a mit einem neuen Objekt überschreibst, zeigen die angelegten Referenzen weiterhin auf das alte Objekt. Wenn du stattdessen
data.a.x = 5
nimmst, wirst du den Unterschied sehen. a bleibt erhalten und dessen Eingenschaft 5 bekommt einen neuen Wert zugewiesen.
Ja, aber das wäre zu komplex, bzw wären zu viele Zeilen.
Gruß
Jo