为什么{} == {}和{} === {}在javascript中为false?
{} == {} // false
{} === {} // false
答案 0 :(得分:4)
javascript按身份比较对象,而不是值。每个对象,每个{}
都是不同的。
同样适用于数组。
答案 1 :(得分:2)
1)原因是内部JavaScript实际上有两种不同的方法来测试相等性。字符串和数字等原语按其值进行比较,而数组,日期和普通对象等对象则按其引用进行比较。通过引用进行的比较基本上检查给定的对象是否指向memory.so中的相同位置
{} == {} is false
2)使用==或===来比较对象没有任何区别,因为比较它们总是返回false。