布尔逻辑关于空数组。

时间:2016-07-16 17:07:23

标签: javascript arrays boolean

快速提问:

为什么这会返回false?好奇。


    var myArray = [];
    var myArray1 = new Array();
    console.log(myArray === myArray1)

2 个答案:

答案 0 :(得分:2)

两个不同的对象彼此之间永远不会===(就此而言,它们也不是==)。对象相等意味着这两个对象实际上只是一个对象;也就是说,===运算符的两边都是对完全相同的对象的引用。

所以,这会给你true

var a = [], b = a;
console.log(a === b);

答案 1 :(得分:0)

每次你做

  • new Array() 或
  • = []

为该变量分配了一个新的Array构造函数实例。因此,当你进行相等检查时,他们也是一样的。就像当一个类的两个实例相同时一样。