编辑:我的问题与您链接到的问题不同。具体来说,并没有说对象是否可以被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
是否保证 areEqual
为 false
?某些处理器优化不会使 b
重用 a
的引用?
最佳答案
是的! Triple Equals 是值和类型的组合。当您在 JavaScript 中比较非原始变量时,您真正比较的是它们的引用 ID。换句话说,在您的示例中,a
永远不会等于 b
,处理器优化后也不会。
关于javascript - 在 Javascript 中,是否保证 {} !== {}?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51940394/