This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

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 ⁨июль 2015 г.⁩.

Сводка

Метод 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® 2026 Language Specification
# sec-object.getprototypeof

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

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

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

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