Object.getPrototypeOf
Возвращает прототип объекта.
Доступно с: ES5
Синтаксис
Object.getPrototypeOf(obj)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| obj | object | Объект, прототип которого нужен. |
Возвращаемое значение
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.