位置: IT常识 - 正文

Object.assign详解(object.assign(this.$data, this.$options.data()))

编辑:rootadmin
Object.assign详解

目录

一、Object.assign是什么?

二、用法:

三、详细讲解

1.目标对象和源对象没有同名属性

2.目标对象和源对象有同名属性

3.有多个源对象

4、原始类型会被包装为对象

5、对象的拷贝

6、对象的深拷贝

7、对象的深拷贝

总结


一、Object.assign是什么?

推荐整理分享Object.assign详解(object.assign(this.$data, this.$options.data())),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:object’s,object.assign(),object’s,object.assign() mdn,object as,object.assign(this.$data, this.$options.data()),object as,object.assign(),内容如对您有帮助,希望把文章链接给更多的朋友!

object.assign()主要用于对象合并,将源对象中的属性复制到目标对象中,他将返回目标对象。

二、用法:

Object.assign(target, ...sources)

参数:target--->目标对象

           source--->源对象

Object.assign详解(object.assign(this.$data, this.$options.data()))

返回值:target,目标对象

三、详细讲解1.目标对象和源对象没有同名属性var target = {name:'带你飞'}var source = {age:18}var result = Object.assign(target,source)console.log(result,target===result); // {name: '带你飞', age: 18} true

如果只是想将两个或多个对象的属性合并到一起,不改变原有对象的属性,可以用一个空的对象作为target对象。像下面这样:

var result=Object.assign({},target,source);

2.目标对象和源对象有同名属性var target = {name:'带你飞',age:16}var source = {age:18}var result = Object.assign(target,source)console.log(result,target===result); // {name: '带你飞', age: 18} true

可以看到如果有同名属性的话,后面的属性值会覆盖前面的属性值。

3.有多个源对象var target = {name:'带你飞',age:16}var source1 = {age:18}var source2 = {age:20,hobby:'打游戏'}var result = Object.assign(target,source1,source2)console.log(result,target===result); // {name: '带你飞', age: 20, hobby: '打游戏'} true

如果有多个源对象,没有同名的属性会直接复制到目标对象上,如果有同名属性的话,后面的属性值会覆盖前面的属性值。

4、原始类型会被包装为对象var source1 = "abc";var source2 = true;var source3 = 10;var result = Object.assign({}, source1, null, source2, undefined, source3); // 原始类型会被包装,null 和 undefined 会被忽略。// 注意,只有字符串的包装对象才可能有自身可枚举属性。console.log(result); // {0: 'a', 1: 'b', 2: 'c'}5、对象的拷贝var object1 = { a: 1, b: 2, c: 3};var object2 = Object.assign({c: 4, d: 5}, object1);console.log(object2.c, object2.d); // 3 5console.log(object1) // { a: 1, b: 2, c: 3 }console.log(object2) // { c: 3, d: 5, a: 1, b: 2 }Object.assign 方法只会拷贝源对象自身的并且可枚举的属性到目标对象。6、对象的深拷贝

深拷贝:深拷贝不会拷贝引用类型的引用,而是将引用类型的值全部拷贝一份,形成一个新的引用类型,这样就不会发生引用错乱的问题,使得我们可以多次使用同样的数据,而不用担心数据之间会起冲突。

let object1 = {a: 1,b: 2};let object2 = Object.assign({}, obj1, {b: 20});console.log(object1); // { a: 1, b: 2 }console.log(object2); // { a: 1, b: 20 }7、对象的浅拷贝

浅拷贝:浅拷贝只是复制了对象的引用地址,两个对象指向同一个内存地址,所以修改其中任意的值,另一个值都会随之变化,这就是浅拷贝

var object1 = {a: 1,b: {c: 2,d: 3}};var object2 = Object.assign({}, object1);object2.a = 10;object2.b.c = 20;console.log(object1); // { a: 1, b: { c: 20, d: 3 } }console.log(object2) //{ a: 10, b: { c: 20, d: 3} }总结:

      object.assign()主要用于对象合并,将源对象中的属性复制到目标对象中,他将返回目标对象。如果有同名属性的话,后面的属性值会覆盖前面的属性值,如果有多个源对象,没有同名的属性会直接复制到目标对象上,还可以进行对象的深浅拷贝,当对象中只有一级属性,没有二级属性的时候,此方法为深拷贝,但是对象中有对象的时候,此方法,在二级属性以后就是浅拷贝。 。

以上内容纯属个人理解,如果有朋友发现不对的欢迎随时指正!

本文链接地址:https://www.jiuchutong.com/zhishi/299908.html 转载请保留说明!

上一篇:【华为OD机试真题2023 JAVA】服务中心的最佳位置(华为od测试岗机试需要怎么准备)

下一篇:基于反事实的因果推理Causal inference based on counterfactuals--一万六千字文献详细解读(因果关系的推理应用)【全文总结】(基于反事实因果推断的度小满额度模型)

  • 个体工商户增值税怎么计算
  • 股权变更涉及哪些税种
  • 加计扣除进项税账务处理
  • 营业外支出怎么结转本年利润
  • 多交的应交税费怎么算
  • 注册资本未到位转让股权
  • 代收车船税没有发票能走帐吗
  • 本月进项大于销项怎么做会计分录
  • 增值税电子发票怎么作废
  • 国外汇款 用什么理由
  • 职工教育经费能抵扣进项税
  • 小微企业季度超过30万怎么报增值税
  • 对方公司开支票怎么办
  • 贷款利息能抵税吗现在
  • 耕地占用税与土地出让金
  • 库存商品怎么结转损益
  • 减免税额期末需要结转吗
  • 小规模库存商品结转成本太低怎么办
  • 支出税费
  • 预提成本的会计处理
  • 坏账损失企业所得税
  • 进口关税和进口增值税怎么算
  • php问卷调查系统课程设计
  • phpwind教程
  • 出租商品计入什么科目
  • u盘安装win8系统步骤
  • 前端字符长度限制
  • php和apache
  • php @method
  • 计算机视觉opencv 有什么项目
  • 自然语言处理属于人工智能的哪个领域
  • index.php怎么修改
  • 在发生以下的情况下,可判定货物
  • 增值税普通发票税率
  • 滴滴出行发票税率是多少
  • 企业收到财政补贴如何开票
  • 四舍五入 vb
  • python字典添加数据
  • python搜索函数
  • 现金预算表中的归还借款和支付利息怎么算
  • 投资回收期计算公式例题
  • 应付利息增加说明企业什么
  • sql数据库转换mysql
  • 商家下单
  • 用于不动产的进项税额
  • 低值易耗品费用记在什么费用
  • 确认收入时,也必须确认资产或债务
  • 偿债基金专户
  • 信用证保证金的计算公式
  • 固定资产售后回购
  • 个人贷款打到公司账户存在什么风险
  • 本年利润的会计科目
  • 固定资产中如何计算折旧
  • 电子支付支付是什么意思
  • 增值税发票备注栏最新规定
  • 出口退税过期怎么处理
  • 预付账款怎么做账务处理
  • mysql 5.7.11 zip安装配置方法图文教程
  • win7系统怎么运行xp系统的软件
  • win8一键恢复出厂设置
  • ubuntu怎么设置网络连接
  • win7系统禁止更新
  • win8 休眠
  • 详解IWinter 一个路由转控制器的 Nodejs 库
  • cocos2dx-js
  • js里写css
  • opengl opengl
  • QOpenGLWindow 、QOpenGLWidget 和 QPainter混合渲染方法初探
  • 微信小程序实现查询功能
  • 安卓手机的手势密码保存在哪个文件
  • jquery移动端ui
  • linux中mysql备份shell脚本代码
  • unity获取物体的位置
  • jquery ztree实现模糊搜索功能
  • jquery获取table指定的行列
  • javascrip
  • 发票与报销内容不一样
  • 北京通个人认证
  • 三方协议开票流程
  • 怎么查税务是否实名认证
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设