Prompt JavaScript If Else Unexpected Token else

dansboxers picture dansboxers · Oct 18, 2012 · Viewed 39.1k times · Source

I'm teaching myself JavaScript using Code Academy and I'm trying to make some simple code so that when prompt asks a question, the user reply gives a response.

example.

prompt says "what's your favourite colour?"

user says "blue"

response "that's the same colour as the sky!"

But when I try to add different options, I get Syntax error: unexpected token else.

I tried making it so that if I asked a question, the reply gets a response but anything else gets a response.

Here's the code.

prompt("what do you want?");

if ("coke");
{console.log ("no coke, pepsi.")};
else
console.log ("pepsi only.")};

If anyone has any ideas, I'd be very grateful!

Answer

jbabey picture jbabey · Oct 18, 2012

Disclaimer: I don't work for Coca Cola.

You need to save the return value of prompt if you want to use it later. Also, you have some syntax errors that should be corrected:

var answer = prompt('what do you want?');

if (answer === 'coke') {
    console.log('you said coke!');
} else {
    console.log('why didn\'t you say coke!?');
}

You could also use a switch as you get more cases:

var answer = prompt('what do you want?');

switch (answer) {
    case 'coke':
        console.log('you said coke!');
        break;
    default:
        console.log('why didn\'t you say coke!?');
        break;
}

Or an object, as most people prefer this to switch:

var answer = prompt('what do you want?');

var responses = {
    coke: 'you said coke!',
    defaultResponse: 'why didn\'t you say coke!?'
};

console.log(responses[answer] || responses.defaultResponse);