Все что нужно понимать про прототипы, классы, наследование и ООП в JS:
1. свойство prototype это ссылка на объект на который будет указывать __proto__ после вызова new.
2. в любом объекте в JS при поиска поля если его нет в самом объекте, он будет искаться в объекте на который указывает __proto__