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

edp*_*plo 10 javascript object uniqueidentifier

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

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

var ob1 = makeObject();
var ob2 = makeObject();
Run Code Online (Sandbox Code Playgroud)

现在我们知道:

ob1 === ob2;  // false
Run Code Online (Sandbox Code Playgroud)

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

编辑: 如何确定两个 JavaScript 对象相等?真正涉及到我的问题的差异化方面,所以谢谢你。我觉得我的问题的另一部分更多地关注 ob1 与 ob2 相比的机器级别差异(除了实用性和/或用户可访问性),我相信“内存中的不同位置”肯定会回答这个问题。

Jos*_*eam 6

是否有较低级别的独特字符被临时分配给 ob1 和 ob2

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

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