Pythonでは、あなたのクラスに__eq__
メソッドを定義することによって、==
が無効にすることができます。Javascriptで==は何をオーバーライドできますか?
Javascriptでも同様のことが可能ですか?もしそうなら、あなたはどうやってそれをしますか?
私は、==
を実行したときに、同じアドレスに2つのオブジェクトが存在するかどうかを確認するために、デフォルトで(そしておそらくそれを上書きできない場合もあります)どうすれば住所を直接入手できますか?
私は長い間書いた人のコードをデバッグしようとしているので、これをすべて聞いています。私が知る限り、2つのオブジェクトは同じですが、==
はfalse
を返しています。私は理由を見つけることを試みています... ==
がどこかでオーバーライドされたかどうかは疑問ですが(それは大きなコードベースで、何を検索するのかわかりません)、もしオブジェクトが複製されていれば、私が知る限り同一のものであっても、違う住所にあります。アドレスを取得する方法を知っていることは、その理論を確認するのに役立ち、問題を見つけ出すためのリードを与えてくれます。
JavaScriptの演算子をオーバーライドすることはできません。 2つのオブジェクトで '=='または '==='を使用している場合、それらが同じ参照であれば 'true'を返します。 – JLRishe
オブジェクトは同じですが、実際にはメモリ内の同じオブジェクトではありません。 これを再チェックする1つの方法は、値を持つプロパティを1つに追加し、それが他のものに現れるかどうかを確認することです。そうでない場合、それらは異なるオブジェクトです。 – Whothehellisthat
ここに:https://stackoverflow.com/q/10539938/632951 – Pacerier