引用类型 相等问题

Posted taohuaya

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了引用类型 相等问题相关的知识,希望对你有一定的参考价值。

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

//引用类型 相等问题

//两个空的新对象  指向的 是不同的 地址
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

技术图片

 

以上是关于引用类型 相等问题的主要内容,如果未能解决你的问题,请参考以下文章

判断引用类型相等

比较引用类型对象的集合是不是相等,忽略集合中项目的顺序

相等性比较 (== ,Equals,ReferenceEquals)

java比较引用类型是否相等

js数组和对象相等判断拷贝详解(结合几个现象讲解引用数据类型的趣事)

关于 .Net 中通用字典中的引用类型键的快速问题