Kept resulting "Undefined is not a function"


#1

var cashRegister = {
total:0,
lastTransactionAmount: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;
case "gum": this.add(0.35 * quantity); break;
case "watch": this.add(19.99 * quantity); break;
case "dvd": this.add(10.99 * quantity); break;
case "ice-cream": this.add(2.99 * quantity); break;
case "gas-gallon": this.add(4.29 * quantity); break;
case "cigar-box": this.add(7.99 * quantity); break;
}
return true;
},
//Add the voidLastTransaction Method here
voidLastTransaction: function() {
this.total -= this.lastTransactionAmount;
return this.total;
}

};

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 + ".");

This is my code and it kept resulting "Undefined is not a function".


5/7 Bleep Bleep Giving Error Message
#2

Either you're treating something that shouldn't be a function, as a function, or something that should be a function, isn't a function.

I suggest running the code in some interpreter with more helpful error messages, such as https://repl.it/languages/nodejs