var Object1 = {};
var Object2 = new Object();
var Object3 = Object.create({});
当我检查原型(prototype)是否等于Object.prototype
时:
前两个返回 true
而第三个返回 false
。
为什么会这样?
Object.getPrototypeOf(Object1)===Object.prototype //true
Object.getPrototypeOf(Object2)===Object.prototype //true
Object.getPrototypeOf(Object3)===Object.prototype //false
最佳答案
只是因为如果你看一下 Object.create()在文档中,您将使用此方法:
creates a new object with the specified prototype object and properties.
如果你调用它:
Object.create({})
您传递的不是原型(prototype),而是一个没有属性的空对象。
所以正如评论中所述,您需要这样调用它:
Object.create(Object.prototype)
关于javascript - 了解原型(prototype)继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31557631/