javascript - 在 Javascript 中,是否保证 {} !== {}?

标签 javascript

编辑:我的问题与您链接到的问题不同。具体来说,并没有说对象是否可以被JS虚拟机复用。

在 Javascript 中,是否保证连续创建的两个对象(当然不是通过将一个对象分配给另一个对象)具有不同的引用?

考虑以下片段:

let a = {};
let b = {}; // b can be created at any time after a is created
let areEqual = a === b; // comparison can be done at any time after b is created

是否保证 areEqualfalse?某些处理器优化不会使 b 重用 a 的引用?

最佳答案

是的! Triple Equals 是值和类型的组合。当您在 JavaScript 中比较非原始变量时,您真正比较的是它们的引用 ID。换句话说,在您的示例中,a 永远不会等于 b,处理器优化后也不会。

关于javascript - 在 Javascript 中,是否保证 {} !== {}?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51940394/

相关文章:

javascript - 一次淡入一个附加元素

javascript - 防止花括号前后出现空行的 eslint 规则的名称是什么?

DropDownList 选择中的 JavaScript 属性值

javascript - 基于 URL 路径构建树层次结构的算法

javascript - 在左键和右键单击事件中更改每个输入值

javascript - 如何编写 Node.js 模块来处理传入的管道流

javascript - javascript 的变量作用域问题

javascript - 移动设备上本地存储(html5)的安全性?

javascript - 使用 JavaScript 倒数

javascript - 使用 jQuery/javascript 旋转手机屏幕