Object.getPrototypeOf()

Сводка

Метод Object.getPrototypeOf() возвращает прототип (то есть, внутреннее свойство [[Prototype]]) указанного объекта.

Синтаксис

Object.getPrototypeOf(obj)

Параметры

obj

Объект, чей прототип будет возвращён.

Примеры

js
var proto = {};
var obj = Object.create(proto);
Object.getPrototypeOf(obj) === proto; // true
js
> Object.getPrototypeOf('foo')
TypeError: "foo" is not an object  // код ES5
> Object.getPrototypeOf('foo')
String.prototype                   // код ES6

Примечания

В ES5, если параметр obj не является объектом, будет выброшено исключение TypeError. В ES6, параметр будет приведён к объекту Object.

js
> Object.getPrototypeOf('foo')
TypeError: "foo" is not an object  // код ES5
> Object.getPrototypeOf('foo')
String.prototype                   // код ES6

Спецификации

Specification
ECMAScript Language Specification
# sec-object.getprototypeof

Совместимость с браузерами

BCD tables only load in the browser

Примечания по Opera

Хотя старые версии Opera и не поддерживают метод Object.getPrototypeOf(), Opera поддерживает нестандартное свойство Object.prototype.__proto__, начиная с версии Opera 10.50.

Смотрите также