美文网首页
使用解构符拷贝对象的问题

使用解构符拷贝对象的问题

作者: Aklan | 来源:发表于2018-02-25 18:00 被阅读0次

我现在一直把解构符当作深拷贝方法来用,但今天发现一个问题

var orign = {
    a: 1,
    b: {
         c: 1
    }
}
var c1 = { ...orign }
var c2 = { ...orign }

c1, c2, orign 中的a 属性是不相关的,但是,因为b 属性是对象类型,引用的是同一个对象
所以此时c1, c2, orign 中的b 属性还是会互相影响的

说明解构符 跟 深拷贝 还是有区别的
只有在一个对象的属性全部为基本数据类型时 解构符 才能代替深拷贝方法

相关文章

  • 使用解构符拷贝对象的问题

    我现在一直把解构符当作深拷贝方法来用,但今天发现一个问题 c1, c2, orign 中的a 属性是不相关的,但是...

  • 超级基础却又超级容易出错的前端面试题(2)

    一、 拓展运算符和解构赋值是深拷贝还是浅拷贝? 正确答案:当对象或者数组的值是基本类型的时候是深拷贝,引用类型则是...

  • 【基础知识】扩展运算符...

    变量解构使用案例 数组扩展运算符 重点:对象也可以使用...哦ES6之扩展运算符-对象

  • 解构赋值

    解构赋值 数组的解构赋值 嵌套,默认值,展开符 对象的解构赋值 对象解构赋值的本质与简写 对象解构的模式与变量 对...

  • 属性值为对象时

    若一个对象的属性值为对象,则该属性的属性值引用了一个对象。 x是解构赋值的对象,解构赋值为浅拷贝,拷贝形成的对象与...

  • es6

    let && const 解构赋值&剩余运算符&展开 解构赋值 对象的解构赋值 剩余运算符 展开 Object.d...

  • ES6之扩展运算符-对象

    Spread扩展运算符 (1) 复制对象(深拷贝) 拷贝了对象实例的属性对象的扩展运算符(...)用于取出参数对象...

  • 数组的扩展

    1:扩展运算符 主要作用就是展开当前数组;一般应用于浅拷贝、合并数组、解构 浅拷贝 合并数组 解构 拆分字符串 转...

  • ES6系列 (六)解构

    目标 解构对象 解构数组 结合数组解构和对象解构 了解解构的类型 思考 解构对象 使用解构语句解构数据结构,提取n...

  • C++ 编程技巧与规范(二)

    拷贝构造函数和拷贝复制运算符的书写 如下: 对象自我赋值产生的问题 对象的自我赋值,会产生一些问题,比如: A的赋...

网友评论

      本文标题:使用解构符拷贝对象的问题

      本文链接:https://www.haomeiwen.com/subject/fhwrxftx.html