带有空数组的console.assert无法正常工作

时间:2019-10-14 17:37:58

标签: javascript

您如何使console.assert失败并显示[],所以无效:

a = []
[]
console.assert(a !== [])
undefined
console.assert(a != [])
undefined

1 个答案:

答案 0 :(得分:2)

问题是,当您将数组彼此比较时,您正在检查它们的引用是否相同,而不是内容是否相同。

数组是对象,每次创建新数组时,都会创建Array对象的新实例。因此,在您的示例中,a将不等于[],即使它们的内容相同,因为它们是两个具有不同引用的不同对象。

解决方案?我假设您要检查数组是否为空,那么为什么不检查数组的大小是否为0?

console.assert(a.length !== 0);