Можешь объяснить, как работает прототипное наследование в JavaScript, включая механизмы, благодаря которым объекты наследуют свойства и методы у других объектов? — ДейлиПреп