Object.getPrototypeOf()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The Object.getPrototypeOf()
static method returns the prototype
(i.e., the value of the internal [[Prototype]]
property) of the specified
object.
Try it
const prototype = {};
const object = Object.create(prototype);
console.log(Object.getPrototypeOf(object) === prototype);
// Expected output: true
Syntax
js
Object.getPrototypeOf(obj)
Parameters
obj
-
The object whose prototype is to be returned.
Return value
The prototype of the given object, which may be null
.
Examples
>Using getPrototypeOf
js
const proto = {};
const obj = Object.create(proto);
Object.getPrototypeOf(obj) === proto; // true
Non-object coercion
In ES5, it will throw a TypeError
exception if the obj
parameter isn't an object. In ES2015, the parameter will be coerced to an
Object
.
js
Object.getPrototypeOf("foo");
// TypeError: "foo" is not an object (ES5 code)
Object.getPrototypeOf("foo");
// String.prototype (ES2015 code)
Specifications
Specification |
---|
ECMAScript® 2026 Language Specification> # sec-object.getprototypeof> |
Browser compatibility
Loading…