5. Logical operators


#1

Hello,

Can you help me please ?
I'dont know where is the error, each else are closed.

SyntaxError: Unexpected token else

======================================================

var answer = prompt ("Quel est vote position au football ?").toLowerCase();
var user = answer;

switch (user){
case 'defenseur' :
var quality1 = prompt ("Quel est votre première qualité ?").toLowerCase();
var quality2 = prompt ("Quel est votre seconde qualité ?").toLowerCase();
if (quality1 === "puissant" && quality2 === "position"){
console.log("Vous êtes fait pour être un défenseur");
else{console.log("Changez de poste");}
}
break;
case 'milieu' :
var quality1 = prompt ("Quel est votre première qualité ?").toLowerCase();
var quality2 = prompt ("Quel est votre seconde qualité ?").toLowerCase();
if (quality1 === "technique" && quality2 === "intéligent"){
console.log("Vous êtes un milieu en puissance");
else{console.log("Essayez défenseur");}
}
break;
case 'attaquant' :
var quality1 = prompt ("Quel est votre première qualité ?").toLowerCase();
var quality2 = prompt ("Quel est votre seconde qualité ?").toLowerCase();
if (quality1 === "rapide" || quality2 === "précis"){
console.log("Vous êtes un vrai buteur");
else{console.log("Il y a toujours les oranges à presser");}
}
break;
default : console.log("Ce poste n'éxiste pas, désolé");
}

======================================================

Thank you for your help,
Dom.


#2

I use http://esprima.org/demo/validate.html to help find typos, as it will tell you which line has the error. In this case, line 11, so we look at line 11 and the lines above it:

switch (user){
    case 'defenseur' :
        var quality1 = prompt ("Quel est votre première qualité ?").toLowerCase();
        var quality2 = prompt ("Quel est votre seconde qualité ?").toLowerCase();
        if (quality1 === "puissant" && quality2 === "position"){
        console.log("Vous êtes fait pour être un défenseur");
        else{console.log("Changez de poste");}

You never closed the if statement. It should be if(){}else{};

Fixing this proceeds to an illegal break on line 13:

case 'defenseur' :
        var quality1 = prompt ("Quel est votre première qualité ?").toLowerCase();
        var quality2 = prompt ("Quel est votre seconde qualité ?").toLowerCase();
        if (quality1 === "puissant" && quality2 === "position"){
        console.log("Vous êtes fait pour être un défenseur");
        }else{console.log("Changez de poste");}
        }
    break;

because you've closed else twice. The computer takes the second close as closing the switch, so that should be removed....

keep going from there.


#3

Thank you very much, for your response and the link :grinning: