快速提问:
为什么这会返回false?好奇。
var myArray = []; var myArray1 = new Array(); console.log(myArray === myArray1)
答案 0 :(得分:2)
两个不同的对象彼此之间永远不会===
(就此而言,它们也不是==
)。对象相等意味着这两个对象实际上只是一个对象;也就是说,===
运算符的两边都是对完全相同的对象的引用。
所以,这会给你true
:
var a = [], b = a;
console.log(a === b);
答案 1 :(得分:0)
每次你做
为该变量分配了一个新的Array构造函数实例。因此,当你进行相等检查时,他们也是一样的。就像当一个类的两个实例相同时一样。