Cours de Javascript 2022

Chapitre 3 - Correction 2 : Site de Chaton


passSentence = "Les chatons sont vraiment trop mignons pour moi";
userSentence = prompt("essayez d'entrer cette phrase :\n" + passSentence);

if(passSentence==userSentence)
{
 alert("Entrée interdite aux adultes ! Vous écrivez trop bien !");
 window.location.href = "https://www.google.com";
}
else
{
 alert("Vous écrivez trop mal, vous êtes un enfant, bienvenue !");
}

Explications :

Ici pas réellement de choses très complexes. On va stocker la phrase qui doit être tapée dans une variable par facilité (cf solution alternative pour comprendre pourquoi c'est mieux). On va donc pouvoir récupérer ce que l'utilisateur a tapé dans une autre variable et ensuite il ne nous reste plus qu'à comparer nos deux string ! On peut en effet comparer les string à l'aide du double égal comme si c'étaient des chiffres. Si elles sont exactement les mêmes, ça renverra true, à l'inverse, si le moindre caractère diffère ça renverra false. Ensuite il ne reste plus qu'à executer dans le if ce qu'il se passe quand la personne a bon, et dans le else ce qu'il se passe quand la personne n'a pas bon. Le moyen de rediriger vers une page internet est l'attribut que j'utilise ici, c'est à dire window.location.href. C'est de la programmation orientée objet, nous verrons ça plus tard, mais c'est assez parlant, dans l'objet window (c'est à dire notre fenêtre), je vais cherche l'élément location, et dans l'élément location, je vais cherche l'endroit où est stockée l'adresse, à savoir href, et je vais changer cet attribut par le page qui nous intéresse. Si vous avez du mal à comprendre le else, je vous invite à lire la théorie qui s'y reporte !

Solution alternative :

userSentence = prompt("essayez d'entrer cette phrase :\nLes chatons sont vraiment trop mignons pour moi.);

if("Les chatons sont vraiment trop mignons pour moi"==userSentence)
{
 alert("Entrée interdite aux adultes ! Vous écrivez trop bien !");
 window.location.href = "https://www.google.com";
}
else
{
 alert("Vous écrivez trop mal, vous êtes un enfant, bienvenue !");
}

L'oeil non averti pourrait me dire que cette solution est meilleure ! En effet, on a une variable en moins, une ligne en moins, le code est par conséquent un peu moins long et on peut croire que c'est une bonne chose... Cette solution n'est pas mauvaise, mais quand même, imaginez que la phrase à tapper est bien plus longue ? il faudrait la retaper dans le if ! Imaginez que nous voulions re-manipuler cette phrase, ou bien la réécrire encore une fois ailleurs,... Un peu comme les fonction finalement, lorsque qu'une information, exactement la même, revient plusieurs fois, on aime bien la mettre sous forme de variable, cela nous permet que, si nous la modifions à un endroit, elle soit modifiée partout à la fois !