SyntaxError: Unexpected token


#1

So what's wrong here?  SyntaxError: Unexpected token .
var cashRegister = {
        total: 0,    
    this.add : function(itemCost) {
           this.total += itemCost; } ,
    
    scan: function (item) {
        switch (item) { 
        case "eggs": 
            this.add(0.98); 
            break;
        
        case "milk": 
            this.add(1.23); 
            break;
        case "magazine":
            this.add(4.99);
            break;
        case "chocolate":
           this.add(0.45);
            break;
        }
        //Add other 2 items here
        return true;
    }
};
//Scan 2 eggs and 3 magazines
cashRegister.scan("eggs")
cashRegister.scan("eggs")
cashRegister.scan("magazine")
cashRegister.scan("magazine")

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


#2

@sophialucy,

Have a close look at

this.add : function(itemCost) {

In aliteral notated object
you do not use the this keyword in a property-key definition


#3

I have a similar error poping up, this is my code:

var cashRegister = {
total: 0,
//insert the add method here
add = function(itemCost){
this.total += itemCost;
},

scan: function (item) {
    switch (item) { 
    case "eggs": 
        this.add(0.98); 
        break;

    case "milk": 
        this.add(1.23); 
        break;

    //Add other 2 items here
    case "magazine":
        this.add(4.99);
        break;

    case "chocolate":
        this.add(0.45);
        break;

    }
    return true;
}

};

//Scan 2 eggs and 3 magazines

cashRegister.scan("eggs");
cashRegister.scan("eggs");
cashRegister.scan("magazine");
cashRegister.scan("magazine");
cashRegister.scan("magazine");

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

I don't understand whats wrong.. in the console it says SyntaxError: missing : after property id


#4

I'm sorry... the 'add = function' has to go with : instead of =
That was the problem... :S