【发布时间】:2016-08-26 21:22:52
【问题描述】:
我正在尝试做-
var a = {key1: "Value1", key2: "Value2"};
var b = a;
b.key3 = "Value3";
虽然我期待 a 仅控制台 {key1: "Value1", key2: "Value2"}
但如果我这样做console.log(a),结果如下 -
{key1: "Value1", key2: "Value2", key3: "Value3"}
目前我设法使用ES6 Object.assign 方法使其工作 -
var a = {key1: "Value1", key2: "Value2"};
var b = Object.assign({}, a);
b.key3 = "Value3";
console.log(a); // {key1: "Value1", key2: "Value2"}
但我很想知道 JavaScript 中出现这种情况的原因。
仅供参考 - 我尝试搜索/谷歌但无法找到,因为我不知道要遵循的确切阶段。
【问题讨论】:
-
对象不被复制,只被引用。
标签: javascript javascript-objects