2016-07-11 1 views
1

2 개의 JavaScript 문자열이 같은 객체를 참조하는지 여부를 확인할 수 있습니까?2 개의 JavaScript 문자열이 동일한 객체를 참조하는지 확인하십시오.

2 개의 개체 트리를 통과 할 때 두 개체가 동일한 참조인지 아닌지 확인해야합니다. 그러한 트리의 어딘가에있는 인스턴스가 문자열 인 경우 실제로 인스턴스가 동일한 지 또는 동일한 값인지를 감지 할 수있는 방법이없는 것처럼 보입니다. 아니면 거기에 있습니까?

개체 트리가 동적으로 생성되므로이 경우 문자열 인 에이블 링에 문제가 없어야합니다.

+0

질문에'javascript'를 포함시킬 수 있습니까? – guest271314

+0

무엇을 시도 했습니까? '그들이 실제로 같은 인스턴스인지 아니면 동일한 값인지를 감지하십시오. '당신은 참조에 대해 말하는 겁니까? – Pogrindis

+0

당신이하려는 일에 대해 예를 들려 줄 수 있습니까? 나는 왜 당신이 그 대상과 그 자체를 비교할 필요가 있는지 알지 못한다. – Technoguyfication

답변

4

"string"은 원시 데이터 형식이며 JavaScript는 메모리 위치에 대한 통찰력을 제공하지 않습니다.

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 

그냥 이런 만드는 문자열이 부정적인 영향을 미칠 수 있음을 인식 (즉 typeof new String('hello') === 'object') : 그러나, 당신은 문자열 "개체"대신과 같이, 원시적를 만들 수 있습니다. 자세한 내용은 Mozilla 문서의 "Distinction between string primitives and String objects"섹션을 참조하십시오.

관련 문제