Object.getPrototypeOf()与Javascript中的Object.constructor.prototype相同吗?

dku*_*ppi 9 javascript inheritance constructor prototype-programming

有没有之间的差异Object.getPrototypeOf(obj)obj.constructor.prototype?或者这两个引用相同的东西?

Ray*_*nos 9

没有

它返回内部[[Prototype]]值.

例如:

var o = Object.create(null);
Object.getPrototypeOf(o); // null
o.constructor.prototype; // error

var p = {};
var o = Object.create(p);
Object.getPrototypeOf(o); // p
o.constructor.prototype; // Object.prototype
Run Code Online (Sandbox Code Playgroud)

o.constructor.prototype仅适用于通过new ConstructorFunction手动设置Prototype.prototype.constructor === Prototype关系创建的对象或用于手动设置关系的对象.