Object.getPrototypeOf() 方法返回指定对象的原型(内部[[Prototype]]属性的值)。

语法

Object.getPrototypeOf(object)

参数

obj
要返回其原型的对象。

返回值

给定对象的原型。如果没有继承属性,则返回 null 。

示例

var proto = {};
var obj = Object.create(proto);
Object.getPrototypeOf(obj) === proto; // true
 
 
 

Notes

在 ES5 中,如果参数不是一个对象类型,将抛出一个TypeError异常。在 ES2015 中,参数会被强制转换为一个 Object

Object.getPrototypeOf('foo');
// TypeError: "foo" is not an object (ES5 code)
Object.getPrototypeOf('foo');
// String.prototype                  (ES2015 code)
 
 
 
 

规范

Specification Status Comment
ECMAScript 5.1 (ECMA-262)
Object.getPrototypeOf
Standard Initial definition.
ECMAScript 2015 (6th Edition, ECMA-262)
Object.getPrototypeOf
Standard  
ECMAScript Latest Draft (ECMA-262)
Object.getPrototypeOf
Living Standard  

浏览器兼容

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support5 Yes3.5912.15
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Basic support Yes Yes Yes4 No Yes Yes

Opera 特别提示

即使旧版本Opera不支持Object.getPrototypeOf(),Opera 10.50之后还支持非标准的 __proto__属性。

相关链接

文档标签和贡献者

 此页面的贡献者: zhangchen, xgqfrms-GitHub, teoli, AlexChao, paddingme, ziyunfei
 最后编辑者: zhangchen,