Привет!
Изучаю js, делаю консольную рпг в качестве обучения.
Прошу посмотреть данный код:
// Create global object class
let Obj = function ( name,
power,) {
this.name = name;
this.power = power;
};
// Create character class
let Char = function ( name,
power, weapon ) {
Obj.apply(this, arguments);
this.weapon = weapon;
this.x_power = power + weapon.power;
}
// Create weapon
let Club = new Obj("Дубина", 2 ); //
// Create character
//
let Player = new Char("Char", 1, Club);
console.log(Player.power); // Ожидаю получить 1 - Получаю!
console.log(Player.x_power); // Ожидаю получить 3 - Получаю!
Player.power = 5; // Изменяю power
console.log(Player.power); // Ожидаю получить 5 - Получаю!
console.log(Player.x_power); // Ожидаю получить 7 (как power + weapon.power), но мои ожидания не оправдываются: Получаю 3.
Почему x_power больше не пересчитывается?
Изначально ведь все работает и x_power получает значение как сумма power и weapon.power.
Power пересчитывается ведь.