在javascript中分配值而不是引用[重复]
Posted
技术标签:
【中文标题】在javascript中分配值而不是引用[重复]【英文标题】:Assign value not reference in javascript [duplicate] 【发布时间】:2017-03-01 05:21:16 【问题描述】:我在 javascript 中分配对象时遇到了一点问题。
看看这个重现我的问题的示例代码。
var fruit =
name: "Apple"
;
var vegetable = fruit;
vegetable.name = "potatoe";
console.log(fruit);
它记录
Object name: "potatoe"
如何将值而不是对象的引用分配给另一个对象?
【问题讨论】:
复制对象 - 一种简单的方法是:var vegetable = JSON.parse(JSON.stringify(fruit));
如何将值而不是对象的引用分配给另一个对象?。你不能 JavaScript 不能那样工作。您唯一的选择是按照@tymeJV 的说明复制对象。
检查这个 SO 问题:***.com/questions/12690107/…
【参考方案1】:
你可以使用Object.assign:
var fruit =
name: "Apple"
;
var vegetable = Object.assign(, fruit);
vegetable.name = "potatoe";
console.log(fruit);
【讨论】:
注意,这不会分配值(正如 OP 所希望的那样),而是将其复制到一个新对象中。微妙但有时很重要的区别 你能解释一下这个assign
电话吗?第一个参数中的空对象是什么?
@MubasharAbbas See here
Object.assign(, obj);你可以看到更多:developer.mozilla.org/es/docs/Web/JavaScript/Referencia/…以上是关于在javascript中分配值而不是引用[重复]的主要内容,如果未能解决你的问题,请参考以下文章