Javascript 为什么在构造函数上定义了这么多对象实用程序而不是在原型上

Javascript 为什么在构造函数上定义了这么多对象实用程序而不是在原型上,javascript,api,ecmascript-5,Javascript,Api,Ecmascript 5,在ES5中,许多对象实用程序是在构造函数上定义的,而不是在原型上定义的(例如defineProperty和键)。这种设计选择背后的原因是什么?对我来说,myObject.keys()似乎是一个比Object.keys(myObject)好得多的API。要了解实际原因,您必须在设计此新功能时参与讨论。我怀疑你能在这里找到真实的信息。和

在ES5中,许多对象实用程序是在构造函数上定义的,而不是在原型上定义的(例如
defineProperty
)。这种设计选择背后的原因是什么?对我来说,
myObject.keys()
似乎是一个比
Object.keys(myObject)

好得多的API。要了解实际原因,您必须在设计此新功能时参与讨论。我怀疑你能在这里找到真实的信息。和