Exercice 9/16

Soit la variable var1 déjà déclarée et qui contient une valeur.

Dans le fichier "script.js" :

  • écrivez une structure if else;
  • vérifiez si le type de var1 est égal à "string";
  • le code à exécuter sera alert("var1 est une chaîne de caractères");;
  • sinon vous exécuterez alert("var1 n'est pas une chaîne de caractères");;
  • cliquez sur "Soumettre ma réponse".

Remarque :

Normalement, le premier test renvoie false donc vous ne verrez pas le message correspondant car alert(); ne sera pas exécuté.

Leçon 9/16

La structure if permet de vérifier si une condition est vérifiée et d'exécuter du code seulement si c'est le cas. Il serait bien de pouvoir, en plus, exécuter du code dans le cas où cette même condition n'est pas vérifiée.

Il est possible d'utiliser plusieurs if :

var var1 = true;
if (var1)
{
    // Code exécuté si var1 est vrai;
}
if (!var1)
{
    // Code exécuté si var1 est faux;
    // En effet, ici on teste l'inverse de var1 avec !, donc on teste si c'est faux;
}

Mais il y a plus simple avec l'utilisation de la structure else.

La structure else (sinon)

Si un if peut s'utiliser seul, un else va de paire avec un if et ne peut pas être utilisé seul, ce qui donne :

if ()
{
}
else
{
}

L'autre différence est qu'il n'est pas nécessaire d'indiquer quelle expression il faut vérifier entre parenthèses. En fait on le sait déjà puisque c'est l'inverse de l'expression testée dans le if qui précède.
Ainsi l'exemple ci-dessus devient :

var var1 = true;
if (var1) // Si var1 est vrai
{
    // Code exécuté si var1 est vrai;
}
else // Sinon, var1 est forcément faux
{
    // Code exécuté si var1 est faux;
    // En effet, ici on teste l'inverse de var1 avec !, donc on teste si c'est faux;
}

Une structure conditionnelle doit rester lisible, surtout quand elle devient complexe, aussi il est fortement conseillé de l'écrire comme ceci :

if ()
{
    // Votre code ici
}
else
{
    // Votre code ici
}
  • un espace entre le if et les parenthèses ();
  • allez à la ligne pour ouvrir les accolades {;
  • indentez le code entre les accolades avec une tabulation pour bien voir la hiérarchie;
  • allez à la ligne pour fermer les accolades;
  • les 2 accolades doivent être alignées, ainsi vous verrez plus facilement si il y a un oubli et à quel niveau;
  • le else doit se trouver juste après le if;

Cet exemple est une très bonne façon d'écrire des conditions et dans cet exercice vous devez utiliser ce modèle.

Commentaires les mieux notés

217 Commentaires

  • guillaumetessierpro-57

    guillaumetessierpro-57

    Bonjour, quel est mon erreur svp?var var1 = 2358; if (typeof var1==="string") { alert("var1 est une chaîne de caractères");} else { alert("var1 n'est pas une chaîne de caractères");}

    le 15/03/2023 à 08h27

  • Patricio M

    Patricio M Admin

    Le code est bon, sauf tu as des ; après le ELSEutilises { au lieuc de #123;

    le 16/03/2023 à 09h11

  • veroniquedouce-83

    veroniquedouce-83

    Bonjour, Je ne comprends mon erreur de boucle infini. Merci de bien vouloir me l'expliquer

    le 23/09/2022 à 18h21

  • Patricio M

    Patricio M Admin

    typeof et non typeOf

    le 26/09/2022 à 09h05

  • guillaume_c_3d

    guillaume_c_3d

    var var1 = 2358; /* Votre condition if/else ici */ if (typeof var1) {alert ("var1 est une chaîne de caractères");} else {alert ("var1 n'est pas une chaîne de caractères");}

    le 21/05/2022 à 07h56

  • meriam

    meriam Admin

    Bonjour, il faut vérifier que le type de la variable var1 est une chaine de caractère.

    le 23/05/2022 à 10h19

  • guillaume_c_3d

    guillaume_c_3d

    Pour info, le code suivant a été validé alors qu'il est faux :

    le 21/05/2022 à 07h56

  • meriam

    meriam Admin

    Bonjour, merci pour votre attention.

    le 23/05/2022 à 10h17

  • amine7820-59

    amine7820-59

    Bonjour, je comprend pas mon erreur j'ai ce message : Dans votre condition, vous n'avez besoin que d'une instruction dans le block

    le 16/05/2022 à 15h12

  • meriam

    meriam Admin

    Bonjour, vous devez supprimer le point le virgule que avez ajouté aprés l'accoalde ouvrante de la structure if.

    le 17/05/2022 à 13h22

  • gael.delaire-62

    gael.delaire-62

    qu'elle est le problème sur mon exercicevar var1 = 2358; if (typeof var1==="string");{ alert("var1 est une chaîne de caractères"); } else { alert("var1 n'est pas une chaîne de caractère"); }

    le 31/01/2022 à 23h56

  • meriam

    meriam Admin

    Bonjour, vous avez oublié les accoaldes de la structure if et else

    le 01/02/2022 à 11h16

  • meriam

    meriam Admin

    il faut pas ajouter un point-virgule aprés la condition de la struture if

    le 01/02/2022 à 11h16

  • chloe.doliveira-96

    chloe.doliveira-96

    solution : if(typeof var1 ==="string") {alert("var1 est une chaine de caractère");} else {alert("var1 n'est pas une chaine de caractère");}

    le 13/12/2021 à 12h37

  • alphandlouisofficiel-54

    alphandlouisofficiel-54

    Bonjour, pk mon code ne fonctionne pas (Boucle infini) ?

    le 19/11/2021 à 10h45

  • meriam

    meriam Admin

    Bonjour, il faut bien écrire la structure conditionnelle => else au lieu esle

    le 19/11/2021 à 14h05

  • delphinemendy03-82

    delphinemendy03-82

    Bonjour, je n'arrive pas a comprendre mon erreur. Merci var var1 = 2358; /* Votre condition if/else ici */ if(typeof var1 ==="string") { alert("var1 est une chaine de caractère"); } else { alert("var1 n'est pas une chaine de caractère"); }

    le 13/10/2021 à 22h52

  • meriam

    meriam Admin

    Bonjour, vous devez supprimer le point virgule que vous avez ajouté aprés la condition de la boucle for.

    le 15/10/2021 à 13h56

  • abdo7219

    abdo7219

    var var1 = 2358; /* Votre condition if/else ici */ if ( typeofvar1 === "string" ) { alert("var1 est une chaine de carctères"); } else { alert("var1 n'est pas une chaine de cactères"); }

    le 03/10/2021 à 11h11

  • meriam

    meriam Admin

    Bonjour, vous devez laisser un espace entre typeof et le nom de la variable.

    le 04/10/2021 à 11h35

  • adyshandiaye2000-23

    adyshandiaye2000-23

    var var1 = 2358; if (typeof var1==='string'); {alert("var1 est une chaîne de caractères"); } else { alert("var1 n'est pas une chaîne de caractères"); } erreur?

    le 14/08/2021 à 12h24

  • meriam

    meriam Admin

    Bonjour, vous devez supprimer le point virgule juste aprés la condition de if.

    le 30/08/2021 à 10h31

  • evan.collebrusco-87

    evan.collebrusco-87

    var var1 = 2358; if (typeof var1 ==="string"); alert("var1 est une chaîne de caractères");} else; alert("var1 n'est pas une chaîne de caractères"); }

    le 10/08/2021 à 12h13

  • meriam

    meriam Admin

    Bonjour, il faut supprimer le point virgule ; aprés la structure else .

    le 12/08/2021 à 10h45

  • Krystel14

    Krystel14

    Bonjour, je n'arrive pas à valider mon exercice pourtant mon code me semble correct ?

    le 04/07/2021 à 11h04

  • meriam

    meriam Admin

    Bonjour, il faut supprimer le point-virgule que avez ajouté aprés l'accoalde ouvrante des structures conditionnelles if et else.e if

    le 05/07/2021 à 10h28

  • bilismira-75

    bilismira-75

    bonsoir, je n'arrive pas à valider cette excercise

    le 29/06/2021 à 17h24

  • meriam

    meriam Admin

    Bonjour, il faut supprimer le point virgule ; aprés la condition de la structure conditionelle if .

    le 30/06/2021 à 09h49

  • Rajosoa.d-54

    Rajosoa.d-54

    Bonjour, où est mon erreur ? var var1 = 2358; /* Votre condition if/else ici */ if (typeof var1 ==="string") { alert("var1 est une chaîne de caractères");} else (var1); { alert("var1 n'est pas une chaîne de caractères");}

    le 01/06/2021 à 12h21

  • meriam

    meriam Admin

    Bonjour, il faut supprimer la condition de else ==> ecrivez directement else sans condition.

    le 01/06/2021 à 12h59

index.html
script.js
<!DOCTYPE HTML> <html> <head> <title>La structure else</title> <script src="script.js"></script> </head> <body> </body> </html>
var var1 = 2358; /* Votre condition if/else ici */