JavaScript Reflect.getPrototypeOf() — прототип об'єкта


Метод Reflect.getPrototypeOf() повертає прототип об'єкта — того, від кого він успадковує.

автор: NagarD

Загальний опис

Прототип — це і є механізм успадкування в JavaScript: не знайшовши властивість в об'єкті, рушій шукає її в прототипі, потім у прототипі прототипа, і так до null.

Цей ланцюжок можна пройти вручну — саме так з'ясовують, чому в об'єкті «раптом» узявся метод, якого ти не писав.

Застаріла властивість __proto__ робить те саме, але її давно не рекомендують.

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
getPrototypeOf 49+ 42+ 10+ 36+ 12+ -
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
getPrototypeOf 49+ yes yes 10+

Приклади

+ запропонувати свій приклад у пісочниці

Пройти ланцюжок прототипів до самого кінця.

class Animal {}
class Dog extends Animal {}

const dog = new Dog();

let proto = Reflect.getPrototypeOf(dog);

while (proto) {
    console.log(proto.constructor.name);
    proto = Reflect.getPrototypeOf(proto);
}
// Dog → Animal → Object
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід