Comment vérifier si deux vars ont la même référence?

Comment pouvez-vous vérifier si deux ou plusieurs objets / vars ont la même référence?

Vous utilisez == ou === :

 var thesame = obj1===obj2; 

Du MDN:

Si les deux opérandes sont des objets, JavaScript compare les références internes qui sont égales lorsque les opérandes se réfèrent au même objet en mémoire.

Les opérateurs d'égalité et d'égalité des chances vous indiqueront si deux variables indiquent le même objet.

 foo == bar foo === bar 

Algorithme possible:

 Object.prototype.equals = function(x) { var p; for(p in this) { if(typeof(x[p])=='undefined') {return false;} } for(p in this) { if (this[p]) { switch(typeof(this[p])) { case 'object': if (!this[p].equals(x[p])) { return false; } break; case 'function': if (typeof(x[p])=='undefined' || (p != 'equals' && this[p].toString() != x[p].toString())) return false; break; default: if (this[p] != x[p]) { return false; } } } else { if (x[p]) return false; } } for(p in x) { if(typeof(this[p])=='undefined') {return false;} } return true; }