javascript 中的对象是否有唯一标识符?

Is there a unique identifier for an object in javascript?

是否有可搜索的唯一标识符(即密钥、uid 等... - 请原谅可能对专有术语进行屠杀)以区分此示例中的 ob1 和 ob2?

var makeObject = function() {
return {example: 'property'};
};

var ob1 = makeObject();
var ob2 = makeObject();

现在我们知道:

ob1 === ob2;  // false

除了这种不等式的布尔区分之外,是否有较低级别的唯一字符被临时分配给 ob1 和 ob2?如果可以,是否可以通过控制台访问这些独特的字符?

编辑: How to determine equality for two JavaScript objects? 真正进入了我问题的差异化方面,所以谢谢你。我觉得我的问题的另一部分更侧重于 ob1 与 ob2 的机器级别差异(除了实用性 and/or 用户可访问性),我相信 "different places in memory" 肯定会回答这个问题。

are there lower level unique characters being temporarily assigned to ob1 and ob2

简短回答:不,您无法访问任何内容。

顺便说一句,obj1obj2 在您的示例中不相等的原因是因为它们实际上 指向内存中的不同位置 .这是唯一正在进行的比较(这不同于 JavaScript 字符串比较,后者 不是 比较内存位置,而是字符串本身的值)。