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
相关推荐
冴羽几秒前
Cloudflare 崩溃梗图
前端·javascript·vue.js
Jonathan Star28 分钟前
JavaScript 中,原型链的**最顶端(终极原型)只有一个——`Object.prototype`
开发语言·javascript·原型模式
普通网友34 分钟前
C++中的组合模式
开发语言·c++·算法
q***615034 分钟前
PHP进阶-在Ubuntu上搭建LAMP环境教程
开发语言·ubuntu·php
Dneccc37 分钟前
Qt5配置MSVC2017
开发语言·qt
江公望38 分钟前
Qt QByteArray类型,10分钟讲清楚
开发语言·c++·qt
小灰灰搞电子39 分钟前
Qt Sensors 传感器框架详解
开发语言·qt
LNN202243 分钟前
Qt 5.8 中的 Qt Test:轻松实现自动化测试
开发语言·qt
2501_9411114643 分钟前
C++中的组合模式变体
开发语言·c++·算法
啵啵鱼爱吃小猫咪1 小时前
机器人具身智能汇总
开发语言