问题比较小白,({}+{}).length是30,这个好理解,{}做字符拼接的时候视作[object object],所以长度是15,两个是30,但是,({}+[]).length就是15,我单单用([]+'').length为什么就是0了呢,这里的[]为什么不视作[object
array]的形式呢?
问题比较小白,({}+{}).length是30,这个好理解,{}做字符拼接的时候视作[object object],所以长度是15,两个是30,但是,({}+[]).length就是15,我单单用([]+'').length为什么就是0了呢,这里的[]为什么不视作[object
array]的形式呢?
你好像没搞懂({}+[]).length为什么是15,[]转的字符串没有变化,Array.prototype.toString返回的不可能是[object Array]
console.log(({}+[]).toString())就知道了
({}+{}).toString().length => "[object Object][object Object]".length
({}+[]).toString().length => "[object Object]".length
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决