为什么[“text”] == [“text”]为假?

时间:2018-01-16 19:44:48

标签: javascript syntax expression ecmascript-5

为什么表达式["text"] == ["text"]在JavaScript中评估为false

我直觉地认为它是真的,因为两个数组是相同的。 JS引擎是否将引用与两个不同的对象进行比较,从而返回false,而不是比较数组的内容?

1 个答案:

答案 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?