Прототип устанавливается для типа, и любой экземпляр этого типа будет использовать прототип совместно. Из примера кода я предполагаю, что консольная регистрация объекта __proto__ - это то, что сбивает с толку. Посмотрите на странице MDN __proto__ , почему вы не должны использовать это.
Чтобы проверить тип объекта, вы можете использовать один из следующих способов:
// With the following you will get the name of the class
console.log(john.constructor.name) // Log: Person
// With the following you will can check if the object is of a certain type.
console.log(john instanceof Person) // Log: true
Вы, кажется, используете более старые функции JavaScript. Имейте в виду, что JavaScript имеет переменные области видимости блока ( let и const ) и классы (они используют прототип под капотом).