• 引用类型 相等问题


    引用(复合)类型,相等问题,详见实例

    //引用类型 相等问题
    
    //两个空的新对象  指向的 是不同的 地址
    console.log( {}==={} ); //false
    
    //指向 同一个 对象
    let obj1 = { a: 1};
    let obj2 = obj1;
    
    console.log(obj1 === obj2); //true
    
    //引用类型 套 引用类型
    let obj3 = {
      a: 1,
      children: {
        b: 2,
        c: 3
      }
    }
    
    let obj4 = obj3.children;
    let obj5 = {
      b: 2,
      c: 3
    }
    
    console.log(obj4 === obj5);    //false
    console.log(obj3.children === obj4);  //true
    
    let obj6 = {
      a: 1,
      children: [ 2, 3 ]
    }
    
    let oArr7 = obj6.children;
    let oArr8 = [ 2, 3 ];
    
    console.log(oArr7 === oArr8);    //false
    console.log(obj6.children === oArr7);  //true
    
    
    
    //数组同理
    
    console.log([] === []); //false
    
    let arr1 = [1, 2];
    let arr2 = arr1;
    console.log(arr1 === arr2); //true
    
    let arr3 = [ 0, [2, 3] ];
    let arr4 = arr3[1];
    let arr5 = [2, 3];
    console.log(arr4 === arr5);   //false
    console.log(arr3[1] === arr4); //true
    
    let arr6 = [ 0, { a: 2, b: 3}];
    let aObj7 = arr6[1];
    let aObj8 = { a: 2, b: 3};
    console.log(aObj7 === aObj8);   //false
    console.log(arr6[1] === aObj7); //true

  • 相关阅读:
    Eloquent ORM模型中添加自定义值
    wget
    带坑的几道PHP面试题
    php字符型转整型
    SELECT 1
    GD库
    Windows下.svn文件夹的最简易删除方法(附linux)
    svn 撤销修改
    mysql应用基本操作语句(转)
    i春秋broken
  • 原文地址:https://www.cnblogs.com/taohuaya/p/11535432.html
Copyright © 2020-2023  润新知