2017-06-05 10 views
1

JavaScriptの構文がいくつかあり、なぜ動作するのか理解できませんでした。これらの場合の全てにおいてこれらのJavaScript式が予期せず動作する理由

({} === {}) // returns false 
function foo() { 
     return 
     { 
      foo: 'bar' 
     } 
    } 

    function bar() { 
     return { 
      foo: 'bar' 
     } 
    } 

(typeof foo() === typeof bar()) //return false again 
([1,2,3] == [1,2,3]); //very interesting false again 
+3

第1と第3:配列とオブジェクトを '==='と比較することはできません。第二:自動セミコロン挿入。 – Tushar

+1

https://developer.mozilla.org/en/docs/Web/JavaScript/Equality_comparisons_and_sameness –

答えて

1

、基準チェックが左右にオブジェクトに対して実行されます比較演算子の手前にある。同じように見えますが、実際は異なるインスタンスなので、falseを返します。

+0

保存する#2(Tusharのコメントを参照してください) –

関連する問題