判断空数组,为什么是false

var x = [];
console.log([] === x);

 

为什么执行结果是 false 呢

 

应该是两个等号?

两个等号也是false,数组是引用类型,做全等判断比较的是栈里的地址,两个中括号相当于在堆里开辟了两次空间,地址是不一样的

var a = [1,2,3]
    var b = [1,2,3]
    console.log(a==b)//false

空数据一般判断的话,用length来判断的吧。三个等号值强相等的