Beep Beep, why didn't =- work?


#1

The following was successful. But, I had attempted this.total =- this.lastTransactionAmount;` it returned false

var cashRegister = {
total:0,
//Dont forget to add your property
add: function(itemCost) {
this.total += itemCost;
this.lastTransactionAmount = itemCost;
},
scan: function(item,quantity) {
switch (item) {
case "eggs": this.add(0.98 * quantity); break;
case "milk": this.add(1.23 * quantity); break;
case "magazine": this.add(4.99 * quantity); break;
case "chocolate": this.add(0.45 * quantity); break;
}
return true;
},
//Add the voidLastTransaction Method here
voidLastTransaction: function(){
this.total = this.total - this.lastTransactionAmount;
}

};

cashRegister.scan('eggs',1);
cashRegister.scan('milk',1);
cashRegister.scan('magazine',1);
cashRegister.scan('chocolate',4);

//Void the last transaction and then add 3 instead
cashRegister.voidLastTransaction();
cashRegister.scan('chocolate',3);

//Show the total bill
console.log('Your bill is '+cashRegister.total);`


#2

@boulder3381,
You have had to use

this.total -= this.lastTransactionAmount;

#3

you forgot to add new property:
lastTransactionAmount:0,


#4

@ishutka
He got away with that....
because the 1st time the code-line

this.lastTransactionAmount = itemCost;

is used, the property will be created, if not already existent......


#5

@leonhard.wettengmx.n Thank you for all your clarity and support in my learning process. :heart_eyes: You've made C.A. work for me. I've read a lot of your replies elsewhere and haven' had to ask questions prior to this one.