为什么“让a = [1,2,3]; console.log(a === [1,2,3]);”在JavaScript中是“ false”吗?

时间:2019-02-04 13:05:44

标签: javascript

为什么

let a = [1, 2, 3];
console.log(a === [1, 2, 3]);

JavaScript中的“ false”是吗?

2 个答案:

答案 0 :(得分:3)

Javascript对象有点像C指针。

a包含您定义的第一个数组的内存地址。

执行console.log(a === [1, 2, 3]);时,实际上是在创建一个新数组,并将其内存值与a中保存的值进行比较。

这就是为什么:

const a = []; 
a.push(1)

有效(常量是“指针”,而不是数组)

答案 1 :(得分:0)

因为数组不一样。变量a包含的数组与console.log中的数组不同,即使数组值相同。您将不得不遍历两个数组,并比较两个数组的每个值以确定它们是否相等。