将对象分配给另一个变量

时间:2017-08-19 22:24:38

标签: javascript

我正在学习JavaScript并注意到当一个变量被分配给另一个变量时,它不会复制它的内容,而是成为同一变量的扩展。例如:

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

var data2 = data1

delete data2.city

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

以上代码不仅会从city删除data2属性,还会从data1删除。

我应该如何将内容从data2复制到data1并更改它而不会打扰data1

1 个答案:

答案 0 :(得分:2)

您的变量指向同一个对象。

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