([]+').length的问题。
问题比较小白,({}+{}).length是30,这个好理解,{}做字符拼接的时候视作[object object],所以长度是15,两个是30,但是,({}+[]).length就是15,我单单用([]+'').length为什么就是0了呢,这里的[]为什么不视作[object
array]的形式呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
你好像没搞懂({}+[]).length为什么是15,[]转的字符串没有变化,Array.prototype.toString返回的不可能是[object Array]
console.log(({}+[]).toString())就知道了
[].toString()
结果是''
(空数组转字符串为空字符串)了解了,谢谢各位大神不舍赐教,刚开始深入学习js。
数组为空时,视作''而不是[object Array],后面的问题也就解决了。