私はequality comparison at MDNの文書を読みましたが、私はJavascriptが厳密な等価性検査をどのように実行するかに興味があります。Javascriptでは、2つのオブジェクトが同じかどうかをどのように判断しますか?
http://ecma-international.org/ecma-262/5.1/#sec-11.9.6もありますが、2つのオブジェクトにどのように適用されるかはわかりません。最後の声明は私が思う鍵です:
Return true if x and y refer to the same object. Otherwise, return false.
しかし、JavaScriptが同じオブジェクトを参照しているかどうかを確認するにはどうすればよいですか?例えば
、name
プロパティを持つオブジェクトKitten
与え、私は自分の名前で初期化された2匹の子猫の作成:Javascriptが
kittenA === kittenB
ことを決定するために何を使うん
var kittenA = new Kitten("kitty A");
var kittenB = new Kitten("kitty B");
を
falseを返しますか?
[オブジェクトリファレンスをECMAScript用語で説明する方法](http://stackoverflow.com/q/23554770/1048572)に興味があるかもしれません。私はそれの後ろにそれほど他のものがないとは思わない。 – Bergi
あなたのタイトルの質問は重複したように聞こえる[JavaScriptの==と===の違い](http://stackoverflow.com/q/523643/1048572)。質問はオブジェクトに限定されていることを明確にするために編集する必要があります。 – Bergi
参照が同一かどうか(つまり、 'kittenA'と' kittenB'の両方が同じ基本オブジェクトを指しているかどうか)を調べています。この場合、参照は異なるオブジェクトを指しており、その理由はfalseを返します。 – grovesNL