,可以通过以下步骤实现:
下面是一个示例代码,演示如何制作JS对象的副本并对其进行更改:
// 创建原始对象
const originalObject = {
name: "John",
age: 30,
hobbies: ["reading", "coding"],
};
// 深拷贝对象
const deepCopyObject = JSON.parse(JSON.stringify(originalObject));
// 浅拷贝对象
const shallowCopyObject = Object.assign({}, originalObject);
// 修改副本对象
deepCopyObject.name = "Jane";
deepCopyObject.age = 25;
deepCopyObject.hobbies.push("painting");
shallowCopyObject.name = "Tom";
shallowCopyObject.age = 40;
shallowCopyObject.hobbies.push("cooking");
console.log(originalObject);
console.log(deepCopyObject);
console.log(shallowCopyObject);
在上面的示例中,我们首先创建了一个原始对象originalObject
,然后使用深拷贝和浅拷贝的方式分别创建了deepCopyObject
和shallowCopyObject
副本。接着,我们对这两个副本对象进行了修改,分别改变了name
、age
属性的值,并向hobbies
数组中添加了新的元素。
最后,我们通过console.log
打印了原始对象和副本对象的值。可以看到,原始对象的值保持不变,而副本对象的值已经被修改。
需要注意的是,深拷贝和浅拷贝的选择取决于具体的需求。如果需要完全独立的副本对象,应该使用深拷贝。如果只需要创建一个新对象,但其属性仍然引用原始对象的属性,可以使用浅拷贝。
腾讯云相关产品和产品介绍链接地址:
以上是腾讯云提供的一些相关产品,可以根据具体需求选择适合的产品进行开发和部署。
领取专属 10元无门槛券
手把手带您无忧上云