Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: prototype, chain

Что лежит в конце прототипной цепочки?

Вопрос проверяет понимание того, как именно JavaScript завершает поиск свойств и методов в прототипной цепочке.

Короткий ответ

В конце прототипной цепочки находится null. Обычно последний “реальный” объект в цепочке — это Object.prototype, а его прототип равен null. Когда поиск свойства доходит до null, JavaScript прекращает поиск и возвращает undefined. Это и есть финальная точка любого прототипного поиска.

Длинный ответ

Определение

Конец прототипной цепочки — это момент, когда у объекта больше нет прототипа, и дальнейший поиск свойств невозможен.

Как устроен поиск свойства

Сначала опишем словами: при обращении к свойству JavaScript двигается “вверх” по цепочке прототипов.

  1. Проверяется сам объект

  2. Проверяется его прототип

  3. Проверяются прототипы прототипов

  4. Поиск останавливается, когда прототип равен null

Что именно является концом цепочки

  1. Для большинства объектов:

    • Последний объект — Object.prototype

    • Его прототип — null

  2. Это можно проверить явно:

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

Что происходит, если свойство не найдено

Если свойство не найдено ни в одном объекте цепочки:

  1. JavaScript доходит до null

  2. Поиск прекращается

  3. Возвращается undefined

Практическое значение

  1. Понимание конца цепочки помогает:

    • Объяснить, почему свойство “пропадает”

    • Избежать ошибок при доступе к вложенным методам

  2. Это важно при:

    • Отладке

    • Понимании hasOwnProperty

    • Работе с кастомным наследованием

Вывод

Концом прототипной цепочки всегда является null, а последний объект перед ним — Object.prototype. Это гарантирует, что поиск свойств в JavaScript всегда конечен.

Уровень

  • Рейтинг:

    4

  • Сложность:

    5

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#prototype

#chain

Подпишись на React Developer в телеграм