2017-08-19 1 views
0

Ich lerne JavaScript und bemerkt, wenn eine Variable einer anderen Variablen zugewiesen wird, kopiert nicht den Inhalt davon, sondern wird die Erweiterung der gleichen Variable. Zum Beispiel:Zuweisen eines Objekts zu einer anderen Variablen

var data1 = {"name": "john", "age": 34, "city": "london"} 

var data2 = data1 

delete data2.city 

console.log(data1) 
{"name": "john", "age": 34} 

Der obige Code wird die city Eigenschaft von data2 nicht nur löschen, sondern auch von data1.

Wie soll ich nur den Inhalt in data2 von data1 KOPIEREN und ändern, ohne die data1 zu stören?

+1

FYI du bist nicht "erben", Sie zuweisen. – Li357

Antwort

2

Ihre Variablen zeigen auf dasselbe Objekt.

var data2 = Object.assign({}, data1) 
Verwandte Themen