Функция delete
для DeditCard
должна быть DeditCard.prototype.delete
, а не локальной функцией в конструкторе.
И ей нужно использовать this.balans
, а не balans
, как Card.prototype.delete
.
function Card(name, balans) {
this.name = name;
this.balans = balans;
}
Card.prototype.delete = function(money) {
return this.balans = this.balans - money;
}
function DeditCard(name, balans) {
this.name = name;
this.balans = balans;
}
DeditCard.prototype = Object.create(Card.prototype);
DeditCard.prototype.delete = function(money) {
if ((this.balans - money) > 0) {
return this.balans = this.balans - money;
} else {
console.log('error');
return this.balans;
}
}
let card0 = new DeditCard("First person", 10);
console.log(card0.balans); //10
card0.delete(80); //must be error
console.log(card0.balans); // must be 10