Добрый день, не знаю как, в полуночном бреду я поймал себя на полном непонимании этого примера:
function User() {}
User.prototype = {
isAdmin: () => true,
admin: true,
};
const user = new User();
User.prototype = {
isAdmin: () => false,
admin: false,
};
console.log(user.isAdmin()); // true
Почему ? Ведь я изменил прототип User
Когда я меняю не весь объект-прототип, а мутирую его:
User.prototype.isAdmin = () => false;
User.prototype.admin = false;
То все работает, почему ?
P.S. я так понимаю в момент создания
new User
создается ссылка на тот объект, что в User.prototype, при создании нового, а не мутации, ссылки не обновляются, верно ?