> Как обратиться к объекту и пройти по цепочке прототипов в JavaScript (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: Сбер
Стек: JavaScript
> Пример ответа
В JavaScript доступ к объекту и обход цепочки прототипов осуществляется с помощью метода Object.getPrototypeOf(). Этот метод возвращает прототип указанного объекта. Для последовательного прохода по всей цепочке можно использовать цикл, пока прототип не станет null.
Пример:
JAVASCRIPTconst parent = { a: 1 };const child = Object.create(parent);child.b = 2;let proto = Object.getPrototypeOf(child);while (proto !== null) {console.log(proto); // { a: 1 } → nullproto = Object.getPrototypeOf(proto);}
Также можно использовать свойство __proto__ (устаревшее, но поддерживаемое) или оператор in для проверки наличия свойства в цепочке. Для обхода всех собственных и унаследованных свойств подходит цикл for...in с проверкой hasOwnProperty().
Ключевой момент: цепочка заканчивается на Object.prototype, чей прототип - null.
> Похожие задачи по frontend
Выполняются ли скрипты в порядке перечисления в документе и работает ли это с async
Можно ли забиндить контекст функции в JavaScript и как это сделать
Какие ключи могут быть в объекте и в Map в JavaScript
Что такое иммутабельность в JavaScript
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью