Dificuldades com o voidLastTransaction


#1

Bom dia
eu estou nas ultimas liçoes do js e me apareceu uma mensagem de erro que nao ajuda em absolutamente nada "Ops tente outra vez. False"
o codigo e o seguinte

var cashRegister = {
total:0,
//Nao se esqueca de adicionar sua propriedade
add: function(itemCost) {
this.total += itemCost;
this.lastTransactionAmount = itemCost; // fiz assim para mudar o valor de lastTransactionAmount
},
scan: function(item,quantity) {
switch (item) {
case "ovos": this.add(0.98 * quantity); break;
case "leite": this.add(1.23 * quantity); break;
case "revista": this.add(4.99 * quantity); break;
case "chocolate": this.add(0.45 * quantity); break;
}
return true;
},
//Adicione o metodo voidLastTransaction aqui
voidLastTransaction: function(){
this.total - this.lastTransactionAmount // eu nao sei se é aqui o problema
}

};

cashRegister.scan('ovos',1);
cashRegister.scan('leite',1);
cashRegister.scan('revista',1);
cashRegister.scan('chocolate',4);

//Anule a ultima transacao e entao adicione 3
cashRegister.voidLastTransaction(); //usei o metodo
cashRegister.scan('chocolate',3);
//e ele diz false
//Mostre o total da conta
console.log('Your bill is '+cashRegister.total);

Eu nao sei o que ha de errado com o meu codigo,agradeço a atenção


#2

Nessa função aqui você diminuiu o valor do total, mas não armazenou em nenhuma outra variável, o que tornou sua função inútil, pois larga esse valor diminuído numa espécie de espaço vazio, mais conhecido como void. Pra consertar isso, você poderia fazer:

voidLastTransaction: function(){
 this.total -= this.lastTransactionAmount; // ou
 this.total = this.total - this.lastTransactionAmount;
}

Espero ter ajudado :smiley: