美文网首页
属性值为对象时

属性值为对象时

作者: 林小刀2_0 | 来源:发表于2017-07-11 15:34 被阅读0次

若一个对象的属性值为对象,则该属性的属性值引用了一个对象。

    let obj  = {a:2};
    let {...z} = obj;
    obj.a = 4;
    console.log(z.a);  //  2

x是解构赋值的对象,解构赋值为浅拷贝,拷贝形成的对象与原对象没有关联,因此,当obj.a重新赋值为4时,z.a仍为2。
但若对象的属性值是一个对象,数组或者函数时,该属性值是一个引用,解构赋值拷贝的也是引用,即在这里,obj 和z对象的a属性的引用指向了同一个,因此,当obj.a.b 改变时,z.a.b也会发生改变。

相关文章

  • 属性值为对象时

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

  • 深入理解ES6 --- 对象

    对象字面量语法扩展 (1) 属性初始值简写 为对象字面量属性赋值为同名的局部变量时,不必再写: 和值,只写属性名即...

  • 08 js03 对象、包装类

    1、对象:【对象的属性和方法,方法存在的形式:属性为方法名/引用;属性值为函数体,对象的属性值可以是任何类型,原型...

  • JS构造函数创建对象时的传参问题

    当对象属性为字符串时 通过构造函数传参的方式新建对象,并可以正确输出对象 但是如果对象在属性值为一个对象 会显示*...

  • hash 类型

    hash类型 hash⽤于存储对象,对象的结构为属性、值 值的类型为string 增加、修改 设置单个属性 hse...

  • Redis 数据结构之hash类型

    hash类型 hash⽤于存储对象,对象的结构为属性、值 值的类型为string 增加、修改 设置单个属性 hse...

  • Vue2学习笔记:vue的Class与Style绑定

    一、绑定HTML Class ①对象语法(对象中的属性值为true时才能添加class) 渲染结果为: 实现同样的...

  • for...in和for...of的区别

    for...in ● 遍历对象的可枚举属性,包括对象从原型上继承的属性。●如果对象值值为null或undefine...

  • Javascript创建对象方式的演变

    ECMA-262把对象定义为:"无序属性的集合,其属性值可以包含基本值,对象或者函数."

  • Java基础-类对象创建过程

    类对象创建过程 1.为对象分配内存空间,接着为对象属性分配内存 2.为对象属性初始化默认值 3.为对象属性显式赋值...

网友评论

      本文标题:属性值为对象时

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