【发布时间】:2019-08-26 04:58:28
【问题描述】:
我可以看到Object 上定义的一些方法和Object.prototype 上定义的一些方法。对于一些人来说,我理解原因,但对于少数人来说,我没有得到背后的理由。为什么getOwnPropertyDescriptor 定义在Object 而不是Object.prototype?
【问题讨论】:
-
直接的答案是“因为
getOwnPropertyDescriptor不适用于实例,您必须将对象传递给它”。如果你想知道为什么决定走那条路,那么也许我们可以指出像Object.keys()这样的东西,它也接受一个对象,但在实例上不可用。但是,如果您想知道为什么会有所不同...我想语言设计者将不得不解释实例方法和静态方法之间存在分歧的确切原因。
标签: javascript