在 javascript 中添加数组和对象会产生错误

Adding arrays and objects in javascript produces an error

本文关键字:错误 对象 javascript 添加 数组      更新时间:2023-09-26

执行以下操作时,我会得到这些输出

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]吗?

在 Firefox 12.0 中测试。

否,因为输出的第二部分是空数组[]的字符串化形式。数组被字符串化为以逗号分隔的字符串化值列表,因此空数组字符串化为空字符串。您可以通过console.log([] + "" === "") .

因此,{} + []会产生等效"[object Object]" + ""