为什么表达式["text"] == ["text"]
在JavaScript中评估为false
?
我直觉地认为它是真的,因为两个数组是相同的。 JS引擎是否将引用与两个不同的对象进行比较,从而返回false,而不是比较数组的内容?
答案 0 :(得分:5)
您创建了两个不同的数组,JavaScript正在比较它们的引用,而不是它们的内容。
const array = [1, 2, 3];
// evaluates to true
console.log(array === array);
// evaluates to false
console.log([1, 2, 3] === [1, 2, 3]);
这是一个关于比较数组内容的非常好的答案:How to compare arrays in JavaScript?