受此视频的启发,我进一步测试了{}+[]
.
测试1:
typeof {}+[] //"object"
好的,{}+[]
一个object
.
测试 2:
var crazy = {}+[];
typeof crazy //"string"
什么?不是{}+[]
吗object
?为什么是string
现在?
测试 3:
console.log({}+[])
我得到了什么:
所以它是一个number
!......不是吗?
那么实际上是什么类型的{}+[]
?
更新
对于说{}+[]
是空字符串的人:
{}+[] === "" //false
({}+[]) === "" //false
({};+[]) === "" //SyntaxError
({}+[]).length //15
JavaScript 太难理解了……