The static Reflect
.getPrototypeOf()
method is almost the same method as Object.getPrototypeOf()
. It returns the prototype (i.e. the value of the internal [[Prototype]]
property) of the specified object.
Reflect.getPrototypeOf(target)
target
The prototype of the given object. If there are no inherited properties, null
is returned.
A TypeError
, if target
is not an Object
.
The Reflect.getPrototypeOf
method returns the prototype (i.e. the value of the internal [[Prototype]]
property) of the specified object.
Reflect.getPrototypeOf()
Reflect.getPrototypeOf({}); // Object.prototype Reflect.getPrototypeOf(Object.prototype); // null Reflect.getPrototypeOf(Object.create(null)); // null
Object.getPrototypeOf()
// Same result for Objects Object.getPrototypeOf({}); // Object.prototype Reflect.getPrototypeOf({}); // Object.prototype // Both throw in ES5 for non-Objects Object.getPrototypeOf('foo'); // Throws TypeError Reflect.getPrototypeOf('foo'); // Throws TypeError // In ES2015 only Reflect throws, Object coerces non-Objects Object.getPrototypeOf('foo'); // String.prototype Reflect.getPrototypeOf('foo'); // Throws TypeError // To mimic the Object ES2015 behavior you need to coerce Reflect.getPrototypeOf(Object('foo')); // String.prototype
Specification | Status | Comment |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Reflect.getPrototypeOf' in that specification. | Standard | Initial definition. |
ECMAScript Latest Draft (ECMA-262) The definition of 'Reflect.getPrototypeOf' in that specification. | Draft |
Desktop | ||||||
---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
Basic support | 49 | 12 | 42 | No | 36 | 10 |
Mobile | |||||||
---|---|---|---|---|---|---|---|
Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
Basic support | 49 | 49 | Yes | 42 | 36 | 10 | 5.0 |
Server | |
---|---|
Node.js | |
Basic support | 6.0.0 |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/getPrototypeOf