【JavaScript】深浅拷贝

news/2024/7/7 23:54:51

JavaScript中复制对象有深拷贝和浅拷贝两种方式

浅拷贝:浅拷贝只复制对象的第一层属性,而不复制嵌套对象的引用。这意味着如果原始对象包含嵌套对象,浅拷贝后的对象仍然会共享这些嵌套对象的引用。可以使用`Object.assign()`或展开运算符(`...`)来进行浅拷贝。

// 浅拷贝示例
//1.使用Object.assign
const originalObj = { a: 1, b: { c: 2 } };
const shallowCopy = Object.assign({}, originalObj);

//2. 使⽤展开运算符
let obj1 = { a: 1, b: 2 };
let obj2 = { ...obj1 };
console.log(obj2); // { a: 1, b: 2 }

深拷贝:深拷贝会递归地复制所有嵌套对象及其属性,创建一个全新的对象,不共享任何引用。这样可以确保修改深拷贝后的对象不会影响原始对象。常见的深拷贝方法包括使用`JSON.parse(JSON.stringify())`、第三方库如Lodash的`_.cloneDeep()`等。

// 深拷贝示例
const originalObj = { a: 1, b: { c: 2 } };
const deepCopy = JSON.parse(JSON.stringify(originalObj));

浅拷贝只复制对象的顶层属性

而深拷贝会递归复制所有嵌套属性,确保复制后


http://lihuaxi.xjx100.cn/news/2032188.html

相关文章

RegExp正则表达式左限定右限定左右限定,预查询,预查寻,断言 : (?<= , (?= , (?<! , (?!

RegExp正则表达式左限定右限定左右限定,预查询,预查寻,断言 : (?< , (? , (?<! , (?! 有好多种称呼 (?< , (? , (?<! , (?! 有好多种称呼 , 我称为: 左限定, 右限定, 左否定, 右否定 (?<左限定)    (?右限定)(?<!左否定)    (?!右限定) 再…

spring boot3登录开发-1(整合jwt)

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《spring boot实战》 &#x1f30a;山高路远&#xff0c;行路漫漫&#xff0c;终有归途。 目录 前置条件 jwt简介 导依赖 编写jwt工具类 1.配置项直接嵌入代码&#xff0c;通过类名.静态方法使用 2.配置项写到…

【leetcode热题】二叉树的锯齿形层次遍历

难度&#xff1a; 中等通过率&#xff1a; 39.6%题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题目描述 给定一个二叉树&#xff0c;返回其节点值的锯齿形层次遍历。&#xff08;即先从左往右&#xff0c;再从右往左进行下一层…

大数据01-导论

零、文章目录 大数据01-导论 1、数据与数据分析 **数据&#xff1a;是事实或观察的结果&#xff0c;是对客观事物的逻辑归纳&#xff0c;是用于表示客观事物的未经加工的原始素材。**数据可以是连续的值&#xff0c;比如声音、图像&#xff0c;称为模拟数据&#xff1b;也可…

火绒(显示病毒HEUR:Trojan/AvKiller.c),误删explore.exe,导致电脑白屏,解决方法

桌面程序explore.exe被火绒当病毒清理了 对&#xff0c;就是火绒导致的&#xff0c;如果按照操作依然黑/白屏&#xff0c;直接找到火绒安装目录打开火绒在右上角设置区找到隔离区里把explorer全部恢复&#xff0c;然后根据提示加到白名单&#xff0c;最后关闭程序后重启或者直接…

清除Django的管理员admin站点中“Recent Actions“最近活动面板上的所有信息

清除Django的管理员admin站点中"Recent Actions"最近活动面板上的所有信息 本文主要介绍了如何清除Django的管理员admin站点中"Recent Actions"最近活动面板上的所有信息 操作步骤如下 进入Django项目目录中运行代python manage.py shell进入Django shell…

Apache Httpd 常见漏洞解析(全)

一、Apache HTTPD 换行解析漏洞 漏洞编号&#xff1a;CVE-2017-15715 Apache HTTPD是一款HTTP服务器&#xff0c;它可以通过mod_php来运行PHP网页。 其2.4.0~2.4.29版本中存在一个解析漏洞。 在解析PHP时&#xff0c;1.php\x0A将被按照PHP后缀进行解析&#xff0c;导致绕过…

ADO.NET优缺点+优化

一&#xff0c;ADO.NET优缺点 ADO.NET&#xff08;ActiveX Data Objects .NET&#xff09;是微软为.NET Framework提供的一个数据库访问框架&#xff0c;它具有以下优点和缺点&#xff1a; 优点&#xff1a; 断开式连接&#xff1a;ADO.NET使用断开式连接模型&#xff0c;这意…