Как работает прототипное наследование в JavaScript?
Уровень: Middle
Ответ
В JavaScript реализация наследования основана на прототипах. Каждый объект имеет скрытое свойство `__proto__` (или [[Prototype]]), ссылающееся на прототип – другой объект. При обращении к свойству, которого нет в самом объекте, интерпретатор ищет его в объекте-прототипе. Цепочка прототипов может продолжаться (прототип может иметь свой прототип и т.д.) вплоть до Object.prototype. Таким образом, объекты наследуют свойства и методы через прототипную цепочку.