2014-10-06 13 views
12

Say mam następujące obiekty w javascript:Jak przetestować tę samą instancję obiektu w JavaScript?

var a = { xxx: 33 }; 
var b = { xxx: 33 }; 
var c; 

c = a; 

Co jest test JavaScript, który powie mi, czy mam do czynienia z tym samym instancji obiektu? Innymi słowy, powinien zwracać wartość false dla aib, b i c, ale prawdziwe dla a i c.

+0

Hmmm .... użyć operatora równości? –

Odpowiedz

17

Po prostu trzeba to

if(c == a) { 
    // same instance 
} 

a == b i b == c powróci false

8

Wystarczy standardowy test równości:

(a == c) // true 
(a == b) // false 
+1

Dlaczego nie potrójne? –

+0

@ san.chez - Nie ma znaczenia przy porównywaniu obiektów. – Quentin

+1

@ san.chez, to nie robi różnicy _nie_, ale żeby wyłączyć funkcjonalność, której nie chcę, użyłbym tutaj potrójnej równości (i prawie wszędzie). –

Powiązane problemy