为什么在JavaScript中添加两个空数组的结果是字符串?

n_x*_*x_l 11 javascript

添加两个空数组:[] + []会产生一个空字符串.为什么?

还有像这样的奇怪功能集合上的任何链接?

Roc*_*mat 18

+运营商只能存在于整数和字符串.当您在其他类型上使用它时,JavaScript会尝试转换类型(首先转换为字符串,然后转换为int).

当数组转换为字符串时,它们将以逗号分隔的字符串形式输出.

所以,[] + []=> "" + ""=> "".

另一个例子: [1,2] + [3,4]=> "1,2" + "3,4"=>"1,23,4"

相关规范: http ://es5.github.com/#x11.6.1