Discuss / JavaScript / 为何aCopy === arr;返回结果为false?

为何aCopy === arr;返回结果为false?

Topic source

科南程

#1 Created at ... [Delete] [Delete and Lock User]
var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
var aCopy = arr.slice();
aCopy; // ['A', 'B', 'C', 'D', 'E', 'F', 'G']
aCopy === arr; 

这个不是复制了一个一模一样的数组吗?为何比较的结果是false呢?不理解唉

可能比较的是两个数组的内存地址吧

Array是引用型变量,这里aCopy是一个新数组,它的引用地址和老数组arr的引用地址是不一样的。

而判等判的是引用,而不是引用的内容。这里自然不相等


  • 1

Reply