为什么
let a = [1, 2, 3];
console.log(a === [1, 2, 3]);
JavaScript中的“ false”是吗?
答案 0 :(得分:3)
Javascript对象有点像C指针。
a
包含您定义的第一个数组的内存地址。
执行console.log(a === [1, 2, 3]);
时,实际上是在创建一个新数组,并将其内存值与a
中保存的值进行比较。
这就是为什么:
const a = [];
a.push(1)
有效(常量是“指针”,而不是数组)
答案 1 :(得分:0)
因为数组不一样。变量a
包含的数组与console.log
中的数组不同,即使数组值相同。您将不得不遍历两个数组,并比较两个数组的每个值以确定它们是否相等。