2017-02-24 3 views
-3

私はMDNのマップドキュメントを調べていました。例では、Using Map Objectの下でオブジェクトリテラル-{}が値を格納するキーとして使用されています。ただし、Mapの値はObject Literalを使用して取得することはできません。なぜ{}!== {} Javascriptで

ブラウザコンソールでこれを確認したところ、オブジェクトリテラルがそれ自体と等しくないことがわかりました。また、関数式-function() {}は、それ自体と等しくありません。

私はこれの背後に理由を見つけることができませんでした。必要に応じて、私は関数式について別の質問をすることができます。

+1

2つのオブジェクトは同じ参照ではないため、同じオブジェクトを参照しないためですか? – Li357

+1

http://stackoverflow.com/questions/11704971/why-are-two-identical-objects-not-equal-to-each-other – hackerrdave

+0

ありがとう@Andrew。私はMDNのObject Documentationを読んでいました。しかし、新しいオブジェクトを作成するかどうかは不明でした。 – Developer

答えて

3

{}を実行するたびに新しい空のオブジェクトが作成されるため、{} == {}を実行すると2つの異なるオブジェクトが比較されます。この比較は参照によって行われるため、falseを返します。

関連する問題