Array.prototype.includes()
来源:5-1 数组扩展:Array.prototype.includes()
_123456789X
2021-03-22
老师,视频中7分40秒时候说Array.prototype.includes()不能判断引用类型,这个应该是说错了吧?
// 代码
const data = [3]
const arr = [1, 2, data]
arr.includes(data) // true
arr.indexOf(data) // 2
写回答
1回答
-
这个问题可以从两方面来看:
1、按照你写的,这样是可以的:
const data = [3]
const arr = [1, 2, data]
arr.includes(data) // true2、如果引用数据类型直接写的话:
const arr = [1, 2, [3]]
console.log(arr.includes([3])) // false
这两个区别在于,引用数据类型是存在堆内存里的,栈内存里存的是引用地址。
可能是我在课程中没有表述清楚,我想说的应该是第二种情况。
012021-03-22