は就職の面接の前にはJavaScriptオンライン・テストでの質問のいずれかになります。オブジェクト 'a == b`を真とする方法を比較するには?ここ
function F(){};
var a = new F();
var b = new F();
Q:比較a == b
はtrue
するようにする方法は? (例えばconsole.log(a == b) // true
)
Iはa
とb
はF
の2つの異なるインスタンスであり、非プリミティブの場合JSに等しい比較基準とを比較するので、それは不可能だと答えました。
しかし、しばらく前にAxel Rauschmayerの記事「JavaScriptでの偽の演算子のオーバーロード」:http://www.2ality.com/2011/12/fake-operator-overloading.htmlを読みました。オブジェクトの比較で演算子のオーバーロードを偽装するためのハックがあるのでしょうか?
'JSON.stringifyは、(A)== JSON.stringify(b)は' –
が実際、@roastedないから新しいを除去することによって。あなたが答えたトピックでは、正しい方法でオブジェクトの比較を行う方法についてです。ここに別のケースがあります。 – jsguff
@jsguff申し訳ありません、ただタイトルを読んで私は急いで結論に達しました –