5. Bleep Bleep


#1


https://www.codecademy.com/courses/close-the-super-makert/0/5?curriculum_id=506324b3a7dffd00020bf661#


I can't move on to the next part since I am so lost to what's happening right now, could anyone please explain the code to me?(It's the right code but I'm just confused about everything!)


var cashRegister = {
    total:0,
    lastTransaction: 0,
    //Dont forget to add your property
    add: function(itemCost) {
        this.total +=  itemCost;
        this.lastTransaction = 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.lastTransaction;
    }
    
};

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

What don't you understand. :slight_smile:


#3

The code that I included and what I'm learning here?


#4

What this new method does is when called after a few instances of the cashRegister have already been created it deletes all of them and now the cashRegister will be empty until new items are scanned. :grin:

//Add the voidLastTransaction Method here
voidLastTransaction : function(){
    this.total -=  this.lastTransactionAmount;
}

};

This was actually one of my favorite units because it gives you a basic skeleton of how a cahsRegister works in a supermarket and with this knowledge you can go and create even your own JS cashRegister that is much more advanced than this one. :slight_smile:


#5

So it kind of like resets the cashRegister total to zero?


#6

Yes, meaning all transactions done up to that point will be made void.


#7

Quick Question, what does void mean? I can't remember and why did the new method called voidLastTransaction, and not just var lastTransaction?


#8

The name of the method can be anything but it is called that for better understanding of what your code is doing,

void : completely empty.


#9

Oh Thank you for the perfect explanation! Appreciate it!


#10

You're welcome :slight_smile:


#11

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.