Допустим есть некий JavaScript-код:
function User(username) {
this.username = username;
}
User.prototype.maxage = 110;
function Employee(username, company) {
User.call(this, username)
this.company = company;
}
Employee.prototype = User.prototype;
Employee.prototype.maxage = 120;
var tom = new User("Том", 26);
console.log(tom.maxage); // 120
Почему, когда я присваиваю прототипу Employee прототип User, и у прототипа Employee указываю maxage = 120, то у объекта User поле maxage тоже равняется 120 ?
Я понимаю, что при
Employee.prototype = User.prototype оба прототипа ссылаются на один и тот же объект, но почему такое происходит? Получается когда для Employee.prototype идёт присвоение User.prototype, то у Employee.prototype появляется по-сути ссылка на объект User.prototype ?