删除对javascript中另一个对象的引用

新手上路,请多包涵
var b = {};
var a = b;
b.test = 123;
console.log(a.test);

我正在尝试编写与上述类似的代码,但是为了不必描述上下文,我将显示它 ^

在行 a = b 之后我想丢失从 a 到 b 的引用,这样我就可以在不影响 a 的情况下更新 b,反之亦然

这可能吗?

原文由 Jack hardcastle 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 227
2 个回答

您可以使用 Object.assign() 克隆您的对象:

 var a = Object.assign({}, b);

原文由 hsz 发布,翻译遵循 CC BY-SA 3.0 许可协议

您可以使用 JSON.stringify(obj) 然后 JSON.parse 到字符串。所以它会是这样的:

 let obj= {
    hello: 'hello'
};
let string = JSON.stringify(obj);
let newObj = JSON.parse(string);

或者更短的单行方式:

 let newObj = JSON.parse(JSON.stringify(obj))

原文由 Allensy 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏