以下に示すJavaScriptの同一性と等価演算子の奇妙な動作を理解したいと思います。JavaScriptでのオブジェクトの比較
var a = {};
var b = {};
a === b; //false
a == b; //false
var c = '';
var d = '';
c === d; //true
c == d; //true
すべての4つの変数a
、b
、c
とd
はオブジェクトです。しかし、それらを比較すると、最初のケースはfalseを返しますが、2番目のケースは真です。番号を除いて、上記の記事によればhttps://msdn.microsoft.com/en-us/library/d53a7bd4(v=vs.94).aspx
ブールすべては参照代わりの値で比較される。
は、私は、次のソースからの比較を検討しました。それで、最初のケースがどのようにfalseを返すのか、そして2番目のケースが真実を返します
'だから、最初のケースは、まず、真の2つ目は、他の方法で回避をfalse.'返す方法falseで、二つ目は –
文字列がプリミティブで真です。美しいJSの世界へようこそ。 –
[StringはJavaScriptのプリミティブ型かオブジェクトですか?](http://stackoverflow.com/questions/7675127/is-string-a-primitive-type-or-object-in-javascript) –