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
相关推荐
hunterandroid2 分钟前
自定义 View 绘制与触摸冲突:从滑动卡顿到事件分发闭环
android·前端
vancece6 分钟前
JS实现堆 & 215.数组中的第K个最大元素
java·前端·javascript
xieliyu.7 分钟前
MySQL 进阶笔记:用户 / 会话 / 全局 / 局部变量 + CASE 分支语法
开发语言·数据库·笔记·mysql
格林威18 分钟前
C#高位深相机图像保存:12位16位图像保存方案,OpenCvSharp和Halcon实现
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
小小龙学IT20 分钟前
Qt Graphics View Framework(图形视图框架)深度解析:从 Scene/View/Item 到工业级 2D 场景
开发语言·数据库·qt
lichenyang45326 分钟前
NestJS + Socket.IO 鉴权、用户房间与幂等邀请
前端·后端
paopaokaka_luck27 分钟前
基于springboot3+vue3+uniapp的剧本杀预约小程序(AI角色对话、协同过滤算法、地图Api、Echarts图形化分析)
java·前端·spring boot·学习·echarts
lichenyang45327 分钟前
React 实时通知与异步竞态处理
前端·后端
2601_9669496531 分钟前
Python 量化数据质量校验:如何确保股票历史日线数据不存在缺失交易日?
开发语言·人工智能·爬虫·python·量化策略·量化·quantdash
三十而立洋33 分钟前
搭建现代化 Git 提交规范:commitlint + czg + husky + lint‑staged 完整实战
前端