5/7 what is wrong, i really don't know. HELP


#1

my code

var cashRegister = {
total:0,
lastTransactionAmount:0,
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;
},
voidLastTransaction: function()
{this.total - this.lastTransactionAmount;}
};

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

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

it returns : Your bill is 10.35 and Oops, try again. false

I don't know why it doesn't see cashRegister.voidLastTransaction();


#2

There is your mistake...

this.total -= this.lastTransactionAmount

#3

I've chenged and still the same


#4

now my code looks like this
var cashRegister = {
total:0,
lastTransactionAmount:0,
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;
},
voidLastTransaction: function()
{this.total -= this.lastTransactionAmount;}
};

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

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


#5

i went to 7/7 and it turned out it should be this.lastTransactionAmount = itemCost;
when i change this - it worked out, i don't know why


#6

I knew you would find that, eventually. The reason it didn't work before is because === is for making comparisons. = is for assignments.