我想看看 []
的真实类型。
我一直认为我可以使用 apply 方法或构造函数。
所以我试过了:
[].constructor
->(向我展示)function Array() { [native code] }
和
[].constructor.constructor
->(向我展示)function Function() { [native code] }
和
Object.prototype.toString.apply([])
->(向我展示)“[object Array]”
问题
1) 相信谁?
2)为什么第 2 行不同?
最佳答案
1) Whom to believe ?
所有这些。他们都是对的
2) why line 2 is different ?
因为[].constructor
是一个函数,而函数的.constructor
就是Function
构造函数。
最后一行为您提供对象的内部[[Class]] 属性。它只能通过将对象设置为通用 toString()
方法的上下文来访问,该方法仅在 Object.prototype
上可用。
关于javascript - 获得真实类型原型(prototype)与构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9048316/