如果数组和函数都是对象子类型,那么为什么typeof function
返回"function"
而typeof array
返回"object"
?
答案 0 :(得分:4)
因为the specification在与实现typeof
的对象(即函数)进行交互时[[Call]]
定义了不同的行为。
答案 1 :(得分:0)
非常难看,但答案正确:因为ECMAScript规范是这样说的。 请记住,在低级别,每个数组基本上只是一个具有“长度”属性的对象。
如果要检查给定对象是否实际上是一个数组,请使用Array.isArray。