Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник JavaScript

Object.getPrototypeOf

Возвращает прототип объекта.

Доступно с: ES5

Синтаксис

Object.getPrototypeOf(obj)

Параметры

ПараметрТипОписание
objobjectОбъект, прототип которого нужен.

Возвращаемое значение

object | nullПрототип объекта или null.

Примеры

Прототип массива и экземпляра класса:

class User {}
const anna = new User();
 
console.log(Object.getPrototypeOf([]) === Array.prototype);
console.log(Object.getPrototypeOf(anna) === User.prototype);

Результат:

true
true

Цепочка прототипов заканчивается на null:

const obj = {};
 
console.log(Object.getPrototypeOf(Object.getPrototypeOf(obj)));

Результат:

null

Примечания

Старое свойство obj.__proto__ делает то же самое, но считается устаревшим. Для проверки «является ли экземпляром» удобнее оператор instanceof.

См. также

  • Object.create — Создаёт объект с заданным прототипом.
  • instanceof — Проверяет, создан ли объект классом (или его наследником).
  • class — Объявляет класс — шаблон для создания объектов с общими методами.

В учебнике

  • Прототипы — Как устроено наследование в JavaScript изнутри: прототип объекта, цепочка прототипов, методы классов в prototype и Object.create.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.