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
相关推荐
小小小小宇13 小时前
前端 Redux applyMiddleware 中间件链原理
前端
小糯米60114 小时前
C语言 自定义类型:结构体 与 联合体
c语言·开发语言·数据结构
jieyucx14 小时前
Go 语言 JSON 序列化与反序列化
开发语言·golang·json·序列化
罗超驿14 小时前
6.Java多线程详解:Thread类、线程属性与start()方法深度解析
java·开发语言·面试·java-ee
英俊潇洒美少年14 小时前
Vue 生产环境打包:SourceMap、压缩、混淆、Gzip、多环境配置 企业级最佳实践
前端·javascript·vue.js
MXN_小南学前端14 小时前
Vue 后台管理系统:封装通用el-table导出方法(附完整源码)
javascript·vue.js
2601_9577867714 小时前
企业矩阵运营的“三段论“:管号、产内容、获线索——全链路系统的价值拆解
java·前端·矩阵·多平台管理
海的透彻14 小时前
jmeter预制处理器JSR223-加解密
开发语言·jmeter·sm2·jsr233
asyxchenchong88814 小时前
R+VIC 模型融合实践技术应用及未来气候变化模型预测
开发语言·r语言
Run_Teenage14 小时前
算法模板:输入输出,并查集
java·开发语言·算法