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 分钟前
Python前端-2-css基础
前端·python·html
Mr Xu_14 分钟前
巧用多背景图层打造精美 CSS 背景 —— 基于 SVG 的视觉合成技巧
前端·css
小杨勇敢飞18 分钟前
npm 安装 @openai/codex 后无法调用 codex 命令的完整解决过程:‘codex‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。
前端·npm·node.js
JEECG官方29 分钟前
JeecgBoot低代码平台 Qiankun 微前端集成指南:主应用配置全流程
前端
JEECG官方30 分钟前
JeecgBoot低代码平台从 WPS 切换到 OnlyOffice 的开发配置指南
前端
zh_xuan31 分钟前
go语言常用语法
开发语言·golang
lichenyang45332 分钟前
虚拟 DOM、Diff 算法与 Fiber
前端·javascript·面试
打酱油的D37 分钟前
前端工程师转 AI Agent 工程师,先把后端能力补上
前端
爱装代码的小瓶子38 分钟前
【C++与Linux进阶】详解信号的捕获:内核态和用户态的转换
linux·开发语言·c++
lclcooky40 分钟前
Spring 核心技术解析【纯干货版】- Ⅶ:Spring 切面编程模块 Spring-Instrument 模块精讲
前端·数据库·spring