2020-11-17

浅拷贝,深拷贝
针对深拷贝,需要使用其他办法,因为 Object.assign()拷贝的是属性值。假如源对象的属性值是一个对象的引用,那么它也只指向那个引用。
Object.assign()
eg: let obj1 = {a:1};
      let obj2 = {};
      let obj3 = Object.assign(obj2, obj1);
      obj1.a = 3;
      // console.log(obj1); {a:3}
     // console.log(obj2); {a:1}
    // console.log(obj3); {a:1}
eg:let obj1 = {a:{b:2}};
     let obj3 = Object.assign(obj2, obj1);
     obj1.a.b = 3;     
      // console.log(obj1); {a:{b:3}} 
     // console.log(obj2); {a:{b:3}}
     // console.log(obj3); {a:{b:3}}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 假设需求: 设有对象 obj1 ,obj2,需要得到对象 obj3 一、JavaScript原生对象合并方法 1、...
    摸爬打滚阅读 5,605评论 0 0
  • ECMAScript - 学习笔记 🎬 🧩nvm node.js 包管理工具 nvm github[https:/...
    Super三脚猫阅读 3,921评论 0 1
  • 小编已经更新了代码部分,戳这里 一、数据类型 数据分为基本数据类型(String, Number, Boolean...
    grain先森阅读 7,631评论 2 53
  • 如果你自以为会对象深拷贝的话,快来看看这篇对象进阶的文章吧~~~ 1.创建对象 对象创建的三种方式var obj ...
    learninginto阅读 3,590评论 6 10
  • 深拷贝和浅拷贝是针对复杂数据类型来说的,浅拷贝只拷贝一层,而深拷贝是层层拷贝。 代码中理解... <!DOCTYP...
    果粒橙没有粒阅读 4,385评论 0 1