2017-02-12 1 views
14

は、私はちょうどJSコンソールで遊んでいた、私が予期しないエラーが発生しました:なぜ{}と[]の比較でエラーが表示されるのですか?私の自由な時間に

js> [] == {} 
false 

js> {} == [] 
typein:5: SyntaxError: syntax error: 

私は===で試してみました:

js> [] === {} 
false 
js> {} === [] 
typein:9: SyntaxError: syntax error: 

はここに間違って考えていますか?

私はこれをFirefox、Chrome、jscoreでテストしました。

答えて

25

2番目のケースでは、{}がオブジェクトではなくコードブロックとして解釈されるためです。

({}) == []を試しても問題ありません。

js> ({}) == [] 
false 
js> ({}) === [] 
false 
関連する問題