Premiers pas en JavaScript
14.1 IF, condition vraie ou fausse
cuy copyleft
  See You Why?  

 


opérateurs mathématiques d'assignation (13.1) | | IF condition comparaisons (14.2)

Contenu

 

 

I. Condition vraie ou fausse

Dans la programmation, il s'avère souvent nécessaire d'effectuer des instructions que si une ou plusieurs conditions sont remplies. Vous laissez alors à votre ordinateur le soin de prendre une décision. Avant de répondre "Très bien" à votre élève, vous aurez le soin de vérifier si sa réponse est correcte. Les lignes qui suivent vous apprendrons à tester si une condition est vraie et à exécuter des instructions dans ce cas de réponse vraie.

Bien des tests peuvent être opérés pour vérifier des éléments :
* la réponse donnée est-elle correcte ?
* cette réponse correcte a-t-elle été donnée au premier essai ou non ?
* le nombre de réponses correctes est-il supérieur à 80 % ou inférieur à 50 % ?
* dans un (ancien) numéro de compte bancaire belge, le reste de la division des 10 premiers chiffres est-il égal aux 2 derniers chiffres ?
* dans un (ancien) numéro de TVA belge, s'il n'y avait pas 10 chiffres, on ajoutait un 0 devant, on divisait les 8 premiers chiffres par 97 et le reste de la division, ajouté au nombre formé des 2 derniers chiffres donnait-il 97 ?
* êtes-vous majeur ?
* avez-vous 65 ans ou plus ?

Il y a plusieurs occasions d'agir de façons différentes selon que la réponse à une question soit Oui ou Non.

En JS, la syntaxe à suivre pour n'exécuter certaines instructions que si une condition est vérifiée, on dit aussi que la condition doit prendre la valeur booléenne (ou logique) true, est :

if (condition à vérifier) {
        faire();
        //la liste des instructions à exécuter si la condition est vraie
}

Pour commencer, nous ne travaillerons qu'avec une seule condition qui doit être vraie (valeur boolénne true).

Chaque instruction de la liste doit évidemment se terminer par un point virgule.

Avant de passer à la section suivante, nous ne vérifierons ici que le cas d'une égalité vérifiée.

La syntaxe est donc :

  1. le mot-clé réservé if (qui signifie en anglais "si...") ;
  2. espace suivie d'une condition placée entre parenthèses ;
  3. insertion de l'accolade ouvrante { qu'on pourrait traduire ici par "alors..." ;
  4. insertion d'une ou plusieurs lignes d'instructions, toutes terminées par un point-virgule ;
  5. sur une nouvelle ligne, insertion de l'accolade fermante } au niveau du if de début ;

On retiendra donc qu'à certains moments, dans la programmation, il peut s'avérer utile de tester une (ou plusieurs) condition(s) qui permettra(ont) de déterminer s'il y a lieu d'exécuter ou non une série d'instructions.
Si la condition est vérifiée, toutes les instructions situées entre les accolades sont exécutées (on parle d'un bloc d'instructions). Si elle ne l'est pas, ce bloc d'instructions ne s'exécute pas, et le programme se poursuit à l'instruction qui suit l'accolade fermante.

A. la condition d'égalité se vérifie par le double signe ==

En abordant les variables, nous avons vu que le simple signe = signifiait "prend la valeur de", qui était le signe d'affectation d'une valeur à une variable.

Pour vérifier si une égalité est vraie, il faudra ne pas utiliser ce simple =, mais JS exige bien le signe double ==, qui est un opérateur de comparaison et qui pourrait se lire "est-il égal à...". N'oubliez pas ceci, c'est une cause fréquente d'erreur par les novices de JS.
= signifie "devient égal à" ou "prend la valeur de",
== signifie "est-il égal à... ?" ou "a-t-il la même valeur que... ?"
.

On n'oubliera pas que toute programmation en JS doit se trouver entre des balises <script>. Ainsi, la définition de notre première fonction se présentera ainsi :

<script type="text/javascript">

function faire() {
     alert("Un bonjour de la part de CUY : condition vérifiée");
     // d'autres instructions pourraient être notées ici
}

</script>

Votre première condition (valeur booléenne true) unique est définie... il ne nous restera à voir que le "sinon" (valeur booléenne false), les conditions imbriquées, puis les conditions plus complexes avec ET ou OU.

Un rappel cependant : une variable de type null sera traitée comme la valeur booléenne false dans les conditions. De même, une chaîne vide sera aussi traitée comme la valeur booléenne false dans les conditions... ce qui facilite les réactions lorsqu'un internaute ne réagit pas à une réaction attendue. Ainsi, on pourrait avoir le code suivant :

 

Exemple

<html>
<body>

<h1>variable comme condition</h1>

<script type="text/javascript">
var ma_variable = prompt("Quel est ton prénom ?","");
if (ma_variable) {
       
alert("Bonjour " + ma_variable + " ! Je ne te salue que parce que tu as eu l'honnêteté de te présenter");
}


</script>


</body>
</html>

 

 

B. seules les intructions entre { et } seront exécutées

Si la condition est vérifiée, seul le bloc, seules les instructions entre l'accolade ouvrante { et l'accolade fermante } seront exécutées... les accolades qui suivent immédiatement la condition, évidemment... Il reste cependant évident que toutes les instructions hors de ces accolades ne sont soumises à aucune condition et seront donc exécutées.

Ce n'est que dans l'étape suivante que nous aborderons la possibilité de traiter "dans le cas contraire"...
Ce chapitre-ci traite du 'si...' 'alors...',
le chapitre suivant traitera du 'si...' 'alors...' 'sinon...'.

Nous venons de traiter le cas "si..." suivi d'une comparaison d'égalité, la section suivante fera état d'autres opérateurs de comparaison, à savoir différents cas d'inégalités.

Nous verrons aussi dans un chapitre suivant que des conditions multiples pourront être vérifiées, ainsi "condition1 ET condition2 OU condition3".

 

C. les variables booléennes

En abordant les types de variables en JS, nous avions fait allusion au type booléen... sans insister. C'est peut-être le moment d'y revenir. Une condition en JS prend une valeur booléenne, à savoir true ou false (vrai ou faux) ; si la condition est vérifiée, la condition prend la valeur true... qui pourrait être stockée dans une variable de type booléen.

Ainsi,
(5==5)
est toujours vrai, donc prendra la valeur true ;
(5==7)
est toujours faux, donc prendra la valeur false ;
var mavar1 = (5==5),
comme (5==5) est vrai, mavar1 prendra la valeur booléenne true ;
var mavar2 = (5==7),
comme (5==7) est faux, mavar2 prendra la valeur booléenne false ;
(mavar1==true)
est vrai, donc prendra la valeur true ;
(mavar2==false)
est vrai, donc prendra la valeur true ;
var mavar3 = (mavar1==mavar2),
comme mavar1 est true, mavar2 est false, var1==var2 sera false et
mavar3 prendra la valeur false ;
var mavar4=(mavar3==false)
sera vrai, car mavar3 est false, donc la condition est true et mavar4 prend la valeur true.

Tout cela nous promet bien du plaisir lorsque nous aborderons les opérateurs logiques and, or ou not dans le chapitre 17 des conditions complexes.

 

 

II. Les comparaisons d'inégalités

voir suite >>>

 

 

VIII. Exercices relatifs à la condition IF

voir suite >>>

 

IX. Test relatif à la condition IF

voir suite >>>

 

 


opérateurs mathématiques d'assignation (13.1) | | IF condition comparaisons (14.2)