JS 深拷贝浅拷贝

一、浅拷贝

cpp 复制代码
// 假设有一个JSON对象
let originalObject = {
  name: "Alice",
  age: 25,
  interests: ["reading", "coding"]
};
 
// 将JSON对象赋值给另一个变量
let copiedObject = originalObject;
 
// 修改新变量的属性
copiedObject.age = 26;
 
// 输出原始对象和新对象的年龄,验证是否为深拷贝
console.log(originalObject.age); // 输出 25
console.log(copiedObject.age);   // 输出 26

二、深拷贝

cpp 复制代码
// 使用JSON.parse(JSON.stringify())创建深拷贝
let deepCopiedObject = JSON.parse(JSON.stringify(originalObject));
 
// 修改新变量的属性
deepCopiedObject.age = 27;
 
// 输出原始对象和新对象的年龄,验证是否为深拷贝
console.log(originalObject.age); // 输出 25
console.log(deepCopiedObject.age); // 输出 27
相关推荐
m0_748238783 分钟前
前端文件预览整合(一)
前端·状态模式
委婉待续3 分钟前
java抽奖系统登录下(三)
java·开发语言·状态模式
人需要PID13 分钟前
【C语言练习(5)—回文数判断】
c语言·开发语言·学习·算法
程序员大金15 分钟前
基于SpringBoot+Vue的高校电动车租赁系统
前端·javascript·vue.js·spring boot·mysql·intellij-idea·旅游
B1nna16 分钟前
外卖开发(七)——校验收货地址是否超出配送范围
开发语言·dubbo·lua
喜欢AC~不爱WA20 分钟前
简单的Java小项目
java·开发语言
莫惊春23 分钟前
HTML5 第七章
前端·html·html5
莫惊春29 分钟前
HTML5 第六章
前端·html·html5
成长之路51434 分钟前
Kernel核密度估计及三维图(附带数据和代码)
开发语言
Winner130037 分钟前
MATLAB 识别色块和数量
开发语言·matlab