Heim > Web-Frontend > js-Tutorial > JavaScript-Übergabe als Wert oder Referenz: Was ist die wahre Geschichte?

JavaScript-Übergabe als Wert oder Referenz: Was ist die wahre Geschichte?

Mary-Kate Olsen
Freigeben: 2024-12-28 17:27:55
Original
974 Leute haben es durchsucht

JavaScript Pass by Value or Reference: What's the Real Story?

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

  • Grundelemente:Übergeben durch ihren tatsächlichen Wert. Änderungen am übergebenen Wert wirken sich nicht auf die Variable außerhalb der Funktion aus.
  • Objekte (Arrays, Objekte): Als Referenz übergeben. Änderungen an den Eigenschaften des Objekts wirken sich auf die Variable außerhalb der Funktion aus. Die Neuzuweisung des gesamten Objekts zu einer neuen Referenz hat jedoch keine Auswirkungen auf die externe Variable.

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);
Nach dem Login kopieren
  • x bleibt unverändert, da es sich um ein Primitiv handelt, das als Wert und übergeben wird neu zugewiesen.
  • y wird geändert, da es sich um ein per Referenz übergebenes Objekt handelt und seine Eigenschaft geändert wurde.

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 };
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage