检查两个JavaScript字符串是否引用同一对象

检查两个JavaScript字符串是否引用同一对象,javascript,Javascript,是否可以检查两个JavaScript字符串是否引用同一个对象(就像检查两个非基本对象的相等性一样) 当浏览两个对象树时,我需要查看两个对象是否是相同的引用。当这些树深处的实例是字符串时,似乎无法检测它们是否实际上是相同的实例或只是相等的值。还是有 对象树是动态构造的,因此在这种情况下字符串插入应该没有问题。简短的回答是否,“字符串”是一种原始数据类型,JavaScript不提供有关其内存位置的详细信息。但是,您可以创建字符串“object”而不是原语,如下所示: var s1 = new Str

是否可以检查两个JavaScript字符串是否引用同一个对象(就像检查两个非基本对象的相等性一样)

当浏览两个对象树时,我需要查看两个对象是否是相同的引用。当这些树深处的实例是字符串时,似乎无法检测它们是否实际上是相同的实例或只是相等的值。还是有

对象树是动态构造的,因此在这种情况下字符串插入应该没有问题。

简短的回答是否,“字符串”是一种原始数据类型,JavaScript不提供有关其内存位置的详细信息。但是,您可以创建字符串“object”而不是原语,如下所示:

var s1 = new String('hello'); // create a string object
var s2 = s1; // pass it as a reference
var s3 = new String('hello'); // create another string object w/ same value as "s1"
console.log(s1 === s2); // true
console.log(s1 === s3); // false
请注意,创建这样的字符串可能会产生不利影响(即新字符串的类型('hello')==='object')。有关更多信息,请参阅Mozilla文档的“”部分。

简短的回答是否,“string”是一种基本数据类型,JavaScript不提供有关其内存位置的详细信息。但是,您可以创建字符串“object”而不是原语,如下所示:

var s1 = new String('hello'); // create a string object
var s2 = s1; // pass it as a reference
var s3 = new String('hello'); // create another string object w/ same value as "s1"
console.log(s1 === s2); // true
console.log(s1 === s3); // false

请注意,创建这样的字符串可能会产生不利影响(即新字符串的类型('hello')==='object')。有关更多信息,请参阅Mozilla文档的“”部分。

您是否可以包含
javascript
尝试过的问题?您尝试过什么<代码>检测它们是否实际上是相同的实例或只是相等的值您是在谈论引用吗?您能给我们一个您尝试做什么的示例吗?我不明白为什么需要将对象与自身进行比较。是否要检查对象或字符串?我需要比较引用树。其中一些引用引用相同的对象。其中一些对象是字符串。我需要检测这些字符串何时是对相同对象的引用。作为一个解决方案,我最终将两个对象树中的字符串包装成字符串对象。这样,当我在两个树中都有相同的引用时,我就可以检测到。你们能在问题中加入
javascript
吗?你们尝试了什么<代码>检测它们是否实际上是相同的实例或只是相等的值您是在谈论引用吗?您能给我们一个您尝试做什么的示例吗?我不明白为什么需要将对象与自身进行比较。是否要检查对象或字符串?我需要比较引用树。其中一些引用引用相同的对象。其中一些对象是字符串。我需要检测这些字符串何时是对相同对象的引用。作为一个解决方案,我最终将两个对象树中的字符串包装成字符串对象。这样,当我在两棵树中都有相同的引用时,我就能检测到。