STARTBEITRAG
javascript
const a = [1, 2];
const b = a;
b.push(3);Warum hat a jetzt auch die 3? In meinem Kopf war b eine Kopie. Muss ich zum Kopieren echt jedes Element einzeln anfassen?
0
Lernfragen und Praxis · 2 Antworten
STARTBEITRAG
const a = [1, 2];
const b = a;
b.push(3);Warum hat a jetzt auch die 3? In meinem Kopf war b eine Kopie. Muss ich zum Kopieren echt jedes Element einzeln anfassen?
a und b zeigen auf dasselbe Array. Für diese Zahlenliste reicht const b = [...a]. Damit hast du ein neues Array.
a und b zeigen auf dasselbe Array. Für diese Zahlenliste reicht const b = [...a]. Damit hast du ein neues Array.
Mit Objekten darin wäre das nur eine flache Kopie. Die inneren Objekte bleiben geteilt. Probier als zweiten Test [{ name: "A" }] und ändere b[0].name. Dann siehst du die nächste Grenze des Ansatzes.