In Python ist es möglich zu überschreiben, was ==
tut, indem Sie eine __eq__
Methode für Ihre Klasse definieren.Können Sie überschreiben, was == in Javascript tut?
Ist es möglich, etwas ähnliches in Javascript zu tun? Wenn ja, wie machst du das?
Mein Verständnis ist, dass, standardmäßig (und vielleicht immer, wenn Sie es nicht überschreiben können), Javascript nur überprüft, ob zwei Objekte an der gleichen Adresse befinden, wenn Sie eine ==
tun. Wie kann ich die Adresse direkt bekommen?
Ich frage all dies, weil ich versuche, Code zu debuggen jemand, der schon lange weg ist schrieb. Soweit ich das beurteilen kann, sind zwei Objekte identisch, und ==
gibt false
zurück. Ich versuche herauszufinden, warum ... Ich frage mich, ob vielleicht ==
irgendwo außer Kraft gesetzt wurde (aber es ist eine große Codebase und ich weiß nicht, wonach ich suchen soll) oder ob oder ob das Objekt dupliziert wurde, also existieren sie an verschiedenen Adressen, obwohl ich, soweit ich weiß, identisch bin. Zu wissen, wie man die Adresse bekommt, würde helfen, diese Theorie zu bestätigen und mir einen Anhaltspunkt zu geben, das Problem aufzuspüren.
Es ist nicht möglich, Operatoren in JavaScript zu überschreiben. Wenn Sie für zwei Objekte '==' oder '===' verwenden, wird 'true' zurückgegeben, wenn sie dieselbe Referenz sind. – JLRishe
Die Objekte _look_ das gleiche, aber sind nicht eigentlich das gleiche Objekt im Speicher. Eine Möglichkeit, dies zu überprüfen, besteht darin, eine Eigenschaft mit einem Wert zu einem Wert hinzuzufügen und festzustellen, ob sie auf der anderen Seite erscheint. Wenn nicht, sind sie unterschiedliche Objekte. – Whothehellisthat
Hier: https://stackoverflow.com/q/10539938/632951 – Pacerier