JavaScript Reflect.getPrototypeOf() — прототип об'єкта
Метод Reflect.getPrototypeOf() повертає прототип об'єкта — того, від кого він успадковує.
Загальний опис
Прототип — це і є механізм успадкування в JavaScript: не знайшовши властивість в об'єкті, рушій шукає її в прототипі, потім у прототипі прототипа, і так до null.
Цей ланцюжок можна пройти вручну — саме так з'ясовують, чому в об'єкті «раптом» узявся метод, якого ти не писав.
Застаріла властивість __proto__ робить те саме, але її давно не рекомендують.
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| getPrototypeOf | 49+ | 42+ | 10+ | 36+ | 12+ | - |
| Переглядач | ||||
|---|---|---|---|---|
| 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
Коментарі
Коментарів ще немає — будьте першим!