JS 引用对比引擎内部是如何实现的?
例如
const fun = () => 1
const fun1 = fun
console.log(fun === fun1) // true
这里的 fun === fun1
内部发生了什么?
const arr [1,2,3]
const arr1 = arr
console.log(arr === arr1) // true
这里的 arr === arr1
内部发生了什么?
查资料 Function/Array 也可以通过 .toString() 来进行比较(===),有大佬知道引擎内部是如何执行的吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我想这个应该直接就是对象实例的对比,相当于比较内存地址。
函数和数组都是js引用类型数据,arr和arr1的标识符进行比较的话,是比较标识符引用的一块内存区域值,具体怎么实现的,应该去看V8源码吧