我正在尝试在chrome控制台中打印以下组合的结果。但是无法理解结果。为什么控制台返回以下结果。谁能解释一下?
[] + {} ==> "[object Object]"
{} + {} ==> "[object Object][object Object]"
{} + [] ==> 0
[] + [] ==> ""
如果添加两个对象(数组也是对象),js将为toString
您调用,因此
[] + {}
实际上是:
[].toString() + {}.toString()
对数组进行字符串化会连接其元素,并且由于数组为空,因此将字符串化为""
。对象始终被字符串化为"[Object object]"
。这就解释了一切,除了:
{} + []
...这就是您的错误,它将返回 "[Object object]"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句