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
相关推荐
Macbethad11 分钟前
自动化测试技术报告
开发语言·lua
38242782712 分钟前
python:输出JSON
前端·python·json
不会画画的画师16 分钟前
Go开发指南:io/ioutil包应用和迁移指南
开发语言·后端·golang
2503_9284115618 分钟前
12.22 wxml语法
开发语言·前端·javascript
光影少年33 分钟前
Vue2 Diff和Vue 3 Diff实现及底层原理
前端·javascript·vue.js
59803541535 分钟前
【java工具类】小数、整数转中文大写
android·java·开发语言
2501_9462243138 分钟前
旅行记录应用统计分析 - Cordova & OpenHarmony 混合开发实战
javascript·harmonyos·harvester
傻啦嘿哟42 分钟前
隧道代理“请求监控”实战:动态调整采集策略的完整指南
前端·javascript·vue.js
JIngJaneIL43 分钟前
基于java + vue个人博客系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
C_心欲无痕1 小时前
vue3 - readonly创建只读的响应式对象
前端·javascript·vue.js