JavaScript: Pass-by-Reference vs. Pass-by-Value entmystifiziert
In JavaScript wird oft das Thema Pass-by-Reference versus Pass-by-Value angesprochen Fragen. Das Verständnis dieses Konzepts ist für eine effektive Programmierung von entscheidender Bedeutung.
Wertübergabe vs. Referenzübergabe
Entgegen der landläufigen Meinung übergibt JavaScript Argumente immer nach Wert an Funktionen. Der übergebene Wert kann jedoch ein primitiver Datentyp (Zahl, Zeichenfolge, Boolescher Wert, Null, undefiniert) oder ein Verweis auf ein Objekt (Array, Objekt) sein.
Primitive vs. Objekte
Beispiele:
Beachten Sie den Codeausschnitt:
function f(a, b) { a = 3; b[0] = "foo"; } var x = 4; var y = ["eeny", "miny", "mo"]; f(x, y);
Unabhängiges Klonen von Objekten
Zu erstellen Um eine völlig unabhängige Kopie eines Objekts ohne Referenzen zu erstellen, empfiehlt es sich, die Methode Object.assign() oder den Spread-Operator zu verwenden (...).
Beispiel:
const original = { foo: "bar" }; const clone = { ...original };
In diesem Beispiel ist der Klon eine unabhängige Kopie des Originals. Etwaige Änderungen am Klon wirken sich nicht auf das Original aus.
Das obige ist der detaillierte Inhalt vonJavaScript-Übergabe als Wert oder Referenz: Was ist die wahre Geschichte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!