4

次の操作を実行すると、これらの出力が得られます

var t = {} + {}; // Alerts [object Object][object Object]
t = {} + 1 //Alerts [object Object]1
t = {} + "hello" //Alerts [object Object]hello
t = {} + function(){} //Alerts [object Object]function(){}
t = {} + [] //Alerts [object Object]

最後のケースだけでも、これについてもアラート[Object object]を表示するべきではありませ[object Object][object Object]んか?

Firefox12.0でテスト済み。

4

1 に答える 1

7

いいえ、出力の2番目の部分は、空の配列の文字列形式であるため[]です。配列は、文字列化された値のコンマ区切りリストとして文字列化されるため、空の配列は空の文字列に文字列化されます。これはで確認できますconsole.log([] + "" === "")

したがって、{} + []結果は同等になり"[object Object]" + ""ます。

于 2012-05-17T10:21:54.957 に答える