2

問題は、以下が論理的に意味をなさないことです。おそらく誰でも説明できます(JSON.parse/JSON.stringify EXACTLYが何をするかの説明も高く評価されます):

var hello = {norsk: "hei"}, parsedHello = JSON.parse(JSON.stringify(hello));
hello === parsedHello // false
hello == parsedHello // false
typeof(hello) // "object"
typeof(parsedHello) // "object"
hello.norsk === parsedHello.norsk // true
4

5 に答える 5

0

ここでの混乱は、2 つのオブジェクトが等しいかどうかを比較しているということですが、それらが表すデータは同じであっても、それらは異なるインスタンスです。

プロパティnorskを比較すると、期待どおりの結果が得られます。これは、それが文字列を参照し、JavaScript が文字列をその値で比較するためです。この場合は同じです。

残念ながら、上記の方法で複雑なオブジェクトを比較することは複雑でstructural equalityあり、すぐに使用できる簡単な方法はありません。

于 2013-09-11T20:22:46.847 に答える