• 售前

  • 售后

热门帖子
入门百科

详解ES6 中的Object.assign()的用法实例代码

[复制链接]
啊歪歪哈坠 显示全部楼层 发表于 2021-10-25 18:45:30 |阅读模式 打印 上一主题 下一主题
目录


  • 2.用途

    • 2.1为对象添加属性
    • 2.2为对象添加方法
    • 2.3克隆对象
    • 2.4 归并多个对象
    • 2.5为属性指定默认值

方法Object.assign()
作用:将sourse对象的 赋值给目标对象,两者都有的会覆盖,target独有会保留,sourse独有会添加
使用方法
Object.assign方法实验的是浅拷贝,而不是深拷贝。也就是说,如果源对象某个属性的值是对象,那么目标对象拷贝得到的是这个对象的引用。
  1. var object1 = { a: { b: 1 } };
  2. ar object2 = Object.assign({}, object1);
  3. object1.a.b = 2;
  4. console.log(object2.a.b);
复制代码
2.用途


2.1为对象添加属性


2.2为对象添加方法


2.3克隆对象
  1. function copyFnc(origin) {
  2. return Object.assign({}, origin)}
  3. var sur = { a: 1, b: 2 };
  4. console.log(copyFnc(sur));
复制代码
上面代码将原始对象拷贝到一个空对象,就得到了原始对象的克隆。
不外,接纳这种方法克隆,只能克隆原始对象自身的值,不能克隆它继承的值。如果想要保持继承链,可以接纳下面的代码。
  1. function clone(origin) {
  2. let originProto = Object.getPrototypeOf(origin);
  3. return Object.assign(Object.create(originProto), origin);
  4. }
复制代码
在JS里子类使用Object.getPrototypeOf去调用父类方法,用来获取对象的原型。

2.4 归并多个对象

//多个对象归并到某个对象
  1. const merge = (target, ...sources) => Object.assign(target, ...sources);
复制代码
//多个对象归并到新对象
  1. const merge = (...sources) => Object.assign({}, ...sources);
复制代码
2.5为属性指定默认值
  1. const DEFAULTS = {
  2. logLevel: 0,
  3. outputFormat: 'html'};
  4. function processContent(options) {let options = Object.assign({}, DEFAULTS, options);
  5. }
复制代码
到此这篇关于详解ES6 Object.assign()的用法及用途的文章就先容到这了,更多相关ES6 Object.assign()的用法内容请搜刮草根技术分享从前的文章或继续浏览下面的相关文章盼望大家以后多多支持草根技术分享!

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作