Übergabe von Objekten als Referenz in JavaScript
Arrays und Objekte unterscheiden sich etwas von den anderen primitiven Datentypen. Der Unterschied besteht darin, dass eine Variable, die ein Array speichert, dieses eigentlich nicht enthält, sondern nur darauf verweist.
In der Praxis bedeutet dies, dass beim Zuweisen eines Objekts an eine andere Variable beide Variablen auf dasselbe Objekt verweisen. Lasst es uns praktisch ausprobieren. Nehmen wir an, wir haben das folgende Objekt:
let obj1 = {a: 1, b: 2, c: 3};
Weisen wir es von einer Variable einer anderen zu:
let obj2 = obj1;
Ändern wir eine der Variablen:
obj2.a = '!';
Als Folge werden die Änderungen auch in der anderen Variable sichtbar sein:
console.log(obj1); // {a: '!', b: 2, c: 3}
Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:
let arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
console.log(arr2);
Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:
let arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
arr2[1] = 'b';
console.log(arr1);
Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:
let arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
arr2[0] = 'b';
console.log(arr2);