当前位置: 首页 > wzjs >正文

dw建设的网站上传hao123网址大全浏览器设为主页

dw建设的网站上传,hao123网址大全浏览器设为主页,南宁建设信息网站,年前做招聘网站话术在 JavaScript 中,Object.assign() 和扩展运算符(...)都是浅拷贝(Shallow Copy)。它们只复制对象的第一层属性,不会递归复制嵌套的对象。 一、浅拷贝的特征: 第一层属性是值复制(基…

在 JavaScript 中,Object.assign() 和扩展运算符(...)都是浅拷贝(Shallow Copy)。它们只复制对象的第一层属性,不会递归复制嵌套的对象。

一、浅拷贝的特征:

  1. 第一层属性是值复制(基本类型直接复制值,引用类型复制地址引用)
  2. 嵌套对象是引用共享(修改嵌套对象会影响原对象)

二、验证示例:

const obj = {name: "John",address: { city: "New York" }
};// 使用 Object.assign
const copy1 = Object.assign({}, obj);
// 使用扩展运算符
const copy2 = { ... obj };// 修改第一层属性(互不影响)
copy1.name = "Alice";
console.log(obj.name);       // "John" (不变)// 修改嵌套对象(会相互影响)
copy1.address.city = "London";
console.log(obj.address.city); // "London" (原对象被修改)

三、Object.assign 和扩展运算符的区别:

特性Object.assign()扩展运算符 ...
基本功能合并对象到目标对象展开对象/数组的属性
原型链属性不复制原型链上的属性不复制原型链上的属性
Symbol 属性可以复制可以复制
属性覆盖顺序后传入的覆盖同名属性后展开的覆盖同名属性
数组合并不支持支持([...arr1, ...arr2]
空值处理忽略 null/undefined 源对象抛出错误
函数调用方式Object.assign(target, ...sources)字面量内部 { ...obj }

四、深拷贝的解决方案

如果需要完全独立的副本,需使用深拷贝:

  1. 手动递归克隆
  2. JSON.parse(JSON.stringify(obj))
    (注意:会丢失函数/Symbol/undefined 等)
  3. 三方库
    如 Lodash 的 _.cloneDeep(obj)

五、关键总结

  • 两者都是浅拷贝:只复制第一层,嵌套对象共享引用
  • 🚫 不是深拷贝:无法创建嵌套对象的独立副本
  • 📌 优先使用扩展运算符(语法更简洁,是 JS 标准)
  • ⚠️ 嵌套对象需要额外处理才能实现深拷贝
http://www.dtcms.com/wzjs/523099.html

相关文章:

  • 湖南做网站公司爱站工具下载
  • 陇西做网站的广告店360营销平台
  • 学做网站php吗简述seo的应用范围
  • 免费生成app北京seo关键词排名
  • bbs网站模板广东今天新闻最新消息
  • 咖啡网站设计建设seo基础入门免费教程
  • 苹果电脑用什么软件做网站凡科网怎么建网站
  • 辽宁省建设工程执业信息网360优化大师官方下载手机
  • 辽宁建设厅勘察设计网站投放广告
  • 怎样在网站做转向连接网络推广营销方案免费
  • 政府网站建设要求有哪些全网营销网络推广
  • 广州做韩国网站百度收录方法
  • 响应式网站建设市场2022拉人头最暴利的app
  • 让别人做网站注意事项百度快照推广
  • 哪些做调查问卷的网站关键词英文
  • 温州专业手机网站制作多少钱长沙关键词优化推荐
  • 网站域名注册地址引擎搜索器
  • 网站建设程序开发网站推广方式组合
  • wordpress恢复默认链接郑州客串seo
  • 怎么建设网站商城品牌全网推广
  • 小门户网站模板苹果看国外新闻的app
  • 葫芦岛公司做网站seo推广有哪些公司
  • 做美食网站需求分析报告广东最新新闻
  • 顺德网站制作案例价位百度地图收录提交入口
  • 济南网站建设的方案以网红引流促业态提升
  • 张家港市网站制作app推广是做什么的
  • 无锡手机网站建设报价企业营销推广方案
  • 南昌哪里做网站好百度网址安全中心
  • dede网站qq类资源源码小程序生成平台系统
  • 石家庄建站优化公司百度上做广告怎么收费