我希望看到[]
的实际类型。
我一直以为我可以使用apply方法或构造函数。
所以我试过了:
[].constructor
- >(向我展示)function Array() { [native code] }
和
[].constructor.constructor
- >(向我展示)function Function() { [native code] }
和
Object.prototype.toString.apply([])
- >(向我展示)"[object Array]"
问题
1)相信谁?
2)为什么第2行不同?
答案 0 :(得分:2)
1)相信谁?
所有这些。他们都是正确的
2)为什么第2行不同?
因为[].constructor
是一个函数,函数的.constructor
是Function
构造函数。
最后一行是为您提供对象的内部 [[Class]] 属性。只有将对象设置为通用toString()
方法的上下文才能访问它,该方法仅在Object.prototype
上可用。