Dans le chapitre précédent vous avez appris comment créer et modifier des variables. C'est déjà bien mais malgré tout on se sent encore un peu limité dans nos codes. Dans ce chapitre, vous allez donc découvrir les conditions de tout type et surtout vous rendre compte que les possibilités pour votre code seront déjà bien plus ouvertes car vos conditions vont influer directement sur la façon dont va réagir votre code à certains critères.
En plus des conditions, vous allez aussi pouvoir approfondir vos connaissances sur un fameux type de variable : le booléen !
Dans ce chapitre, nous allons aborder les conditions, mais pour cela il nous faut tout d'abord revenir sur un type de variable dont nous vous avions parlé au chapitre précédent : les booléens.
À quoi vont-ils nous servir ? À obtenir un résultat
commetrue
(vrai)
oufalse
(faux) lors du test d'une condition.
Pour ceux qui se posent la question, une condition est une sorte de « test » afin de vérifier qu'une variable contient bien une certaine valeur. Bien sûr les comparaisons ne se limitent pas aux variables seules, mais pour le moment nous allons nous contenter de ça, ce sera largement suffisant pour commencer.
Tout d'abord, de quoi sont constituées les conditions ? De valeurs à tester et de deux types d'opérateurs : un logique et un de comparaison.
Comme leur nom l'indique, ces opérateurs vont permettre de comparer diverses valeurs entre elles. En tout, ils sont au nombre de huit, les voici :
Opérateur |
Signification |
---|---|
== |
égal à |
!= |
différent de |
=== |
contenu et type égal à |
!== |
contenu ou type différent de |
> |
supérieur à |
>= |
supérieur ou égal à |
< |
inférieur à |
<= |
inférieur ou égal à |
Nous n'allons pas vous faire un exemple pour chacun d'entre eux mais nous allons au moins vous montrer comment les utiliser afin que vous puissiez essayer les autres :
var number1 = 2, number2 = 2, number3 = 4, result;
result = number1 == number2; // On spécifie deux variables avec l'opérateur de comparaison entre elles
alert(result); // Affiche « true », la condition est donc vérifiée car les deux variables contiennent bien la même valeur
result = number1 == number3;
alert(result); // Affiche « false », la condition n'est pas vérifiée car 2 est différent de 4
result = number1 < number3;
alert(result); // Affiche « true », la condition est vérifiée car 2 est bien inférieur à 4
Comme vous le voyez, le concept n'est
pas bien compliqué, il suffit d'écrire deux valeurs avec l'opérateur de comparaison souhaité entre les deux et un
booléen est retourné. Si celui-ci esttrue
alors la condition est
vérifiée, si c'estfalse
alors elle ne l'est pas.
Sur ces huit opérateurs, deux d'entre eux peuvent être difficiles à comprendre pour un débutant : il s'agit de === et !==. Afin que vous ne soyez pas perdus, voyons leur fonctionnement avec quelques exemples :
var number = 4, text = '4', result;
result = number == text;
alert(result); // Affiche « true » alors que « number » est un nombre et « text » une chaîne de caractères
result = number === text;
alert(result); // Affiche « false » car cet opérateur compare aussi les types des variables en plus de leurs valeurs
Vous comprenez leur principe maintenant ? Les conditions « normales » font des conversions de type pour vérifier les égalités, ce qui fait que si vous voulez différencier le nombre 4 d'une chaîne de caractères contenant le chiffre 4 il vous faudra alors utiliser le triple égal ===.
Voilà tout pour les opérateurs de comparaison, vous avez tous les outils dont vous avez besoin pour faire quelques expérimentations. Passons maintenant à la suite.
Pourquoi ces opérateurs sont-ils nommés comme étant « logiques » ? Car ils fonctionnent sur le même principe qu'une table de vérité en électronique. Avant de décrire leur fonctionnement, il nous faut d'abord les lister, ils sont au nombre de trois :
Opérateur |
Type de logique |
Utilisation |
---|---|---|
&& |
ET |
valeur1 && valeur2 |
|| |
OU |
valeur1 || valeur2 |
! |
NON |
!valeur |
Cet opérateur vérifie la condition lorsque toutes les valeurs qui lui
sont passées valent true
. Si une seule d'entre elles
vaut false
alors la condition ne sera pas vérifiée. Exemple
:
var result = true && true;
alert(result); // Affiche : « true »
result = true && false;
alert(result); // Affiche : « false »
result = false && false;
alert(result); // Affiche : « false »
Cet opérateur est plus « souple » car il
renvoietrue
si une des valeurs qui lui est soumise
contienttrue
, qu'importent les autres valeurs. Exemple :
var result = true || true;
alert(result); // Affiche : « true »
result = true || false;
alert(result); // Affiche : « true »
result = false || false;
alert(result); // Affiche : « false »
Cet opérateur se différencie des deux autres car il ne prend qu'une
seule valeur à la fois. S'il se nomme « NON » c'est parce que sa fonction est d'inverser la valeur qui lui est
passée, ainsitrue
deviendrafalse
et
inversement. Exemple :
var result = false;
result = !result; // On stocke dans « result » l'inverse de « result », c'est parfaitement possible
alert(result); // Affiche « true » car on voulait l'inverse de « false »
result = !result;
alert(result); // Affiche « false » car on a inversé de nouveau « result », on est donc passé de « true » à « false »
Bien, nous sommes presque au bout de la partie concernant les booléens, rassurez-vous, ce sera plus simple sur le reste de ce chapitre. Toutefois, avant de passer à la suite, il faudrait s'assurer que vous ayez bien compris que tous les opérateurs que nous venons de découvrir peuvent se combiner entre eux.
Tout d'abord un petit résumé (lisez attentivement) : les opérateurs de comparaison acceptent chacun deux valeurs en entrée et renvoient un booléen, tandis que les opérateurs logiques acceptent plusieurs booléens en entrée et renvoient un booléen. Si vous avez bien lu, vous comprendrez que nous pouvons donc coupler les valeurs de sortie des opérateurs de comparaison avec les valeurs d'entrée des opérateurs logiques. Exemple :
var condition1, condition2, result;
condition1 = 2 > 8; // false
condition2 = 8 > 2; // true
result = condition1 && condition2;
alert(result); // Affiche « false »
Il est bien entendu possible de raccourcir le code en combinant tout ça sur une seule ligne, dorénavant toutes les conditions seront sur une seule ligne dans ce tutoriel :
var result = 2 > 8 && 8 > 2;
alert(result); // Affiche « false »
Voilà tout pour les booléens et les opérateurs conditionnels, nous allons enfin pouvoir commencer à utiliser les conditions comme il se doit.
Enfin nous abordons les conditions ! Ou, plus exactement, les structures conditionnelles, mais nous écrirons dorénavant le mot « condition » qui sera quand même plus rapide à écrire et à lire.
Avant toute chose, précisons
qu'il existe trois types de conditions, nous allons commencer par la
conditionif else
qui est la plus utilisée.
if
pour dire «
si »
Mais à quoi sert une condition ? On n'a pas déjà vu les opérateurs conditionnels juste avant qui permettent déjà d'obtenir un résultat ?
Effectivement, nous arrivons à obtenir un résultat sous forme de booléen, mais c'est tout. Maintenant, il serait bien que ce résultat puisse influer sur l'exécution de votre code. Nous allons tout de suite entrer dans le vif du sujet avec un exemple très simple :
if (true) {
alert("Ce message s'est bien affiché.");
}
if (false) {
alert("Pas la peine d'insister, ce message ne s'affichera pas.");
}
Tout d'abord, voyons de quoi est constitué une condition :
De la
structure conditionnelleif
;
De parenthèses qui contiennent la condition à analyser, ou plus précisément le booléen retourné par les opérateurs conditionnels ;
D'accolades qui permettent de définir la portion de code qui sera exécutée si la condition se vérifie. À noter que nous plaçons ici la première accolade à la fin de la première ligne de condition, mais vous pouvez très bien la placer comme vous le souhaitez (en dessous, par exemple).
Comme vous pouvez le constater, le code d'une condition est
exécuté si le booléen reçu esttrue
alors
quefalse
empêche l'exécution du code.
Et vu que nos opérateurs conditionnels renvoient des booléens, nous allons donc pouvoir les utiliser directement dans nos conditions :
if (2 < 8 && 8 >= 4) { // Cette condition renvoie « true », le code est donc exécuté
alert('La condition est bien vérifiée.');
}
if (2 > 8 || 8 <= 4) { // Cette condition renvoie « false », le code n'est donc pas exécuté
alert("La condition n'est pas vérifiée mais vous ne le saurez pas vu que ce code ne s'exécute pas.");
}
Comme vous pouvez le constater, avant nous décomposions toutes les étapes d'une condition dans plusieurs variables, dorénavant nous vous conseillons de tout mettre sur une seule et même ligne car ce sera plus rapide à écrire pour vous et plus facile à lire pour tout le monde.
confirm()
Afin d'aller un petit peu plus loin dans le cours, nous allons
apprendre l'utilisation d'une fonction bien pratique :confirm()
! Son
utilisation est simple : on lui passe en paramètre une chaîne de caractères qui sera affichée à l'écran et elle
retourne un booléen en fonction de l'action de l'utilisateur ; vous allez comprendre en essayant :
if (confirm('Voulez-vous exécuter le code JavaScript de cette page ?')) {
alert('Le code a bien été exécuté !');
}
Comme vous pouvez le constater, le code s'exécute lorsque
vous cliquez sur le boutonOK
et ne s'exécute pas lorsque vous cliquez
surAnnuler
. En clair : dans le premier cas la fonction
renvoietrue
et dans le deuxième cas elle
renvoiefalse
. Ce qui en fait une fonction très pratique à utiliser
avec les conditions.
Nous pouvons maintenant revenir à nos conditions.
else
pour dire «
sinon »
Admettons maintenant que vous souhaitiez exécuter un code suite
à la vérification d'une condition et exécuter un autre code si elle n'est pas vérifiée. Il est possible de le faire
avec deux conditionsif
mais il existe une solution beaucoup plus
simple, la structureelse
:
if (confirm('Pour accéder à ce site vous devez avoir 18 ans ou plus, cliquez sur "OK" si c\'est le cas.')) {
alert('Vous allez être redirigé vers le site.');
}
else {
alert("Désolé, vous n'avez pas accès à ce site.");
}
Comme vous pouvez le constater, la
structureelse
permet d'exécuter un certain code si la condition n'a
pas été vérifiée, et vous allez rapidement vous rendre compte qu'elle vous sera très utile à de nombreuses
occasions.
Concernant la façon d'indenter vos
structuresif else
, il est conseillé de procéder de la façon suivante
:
if ( /* condition */ ) {
// Du code…
} else {
// Du code…
}
Ainsi la
structureelse
suit directement l'accolade de fermeture de la structureif
,
pas de risque de se tromper quant au fait de savoir quelle
structureelse
appartient à quelle
structureif
. Et puis c'est, selon les goûts, un peu plus « propre » à
lire. Enfin vous n'êtes pas obligés de faire de cette façon, il s'agit juste d'un conseil.
else if
pour
dire « sinon si »
Bien, vous savez exécuter du code si une condition se vérifie et si elle ne se vérifie pas, mais il serait bien de savoir fonctionner de la façon suivante :
Une première condition est à tester ;
Une deuxième condition est présente et sera testée si la première échoue ;
Et si aucune
condition ne se vérifie, la structureelse
fait alors son travail.
Cette espèce de cheminement est bien pratique pour tester
plusieurs conditions à la fois et exécuter leur code correspondant. La
structureelse if
permet cela, exemple :
var floor = parseInt(prompt("Entrez l'étage où l'ascenseur doit se rendre (de -2 à 30) :"));
if (floor == 0) {
alert('Vous vous trouvez déjà au rez-de-chaussée.');
} else if (-2 <= floor && floor <= 30) {
alert("Direction l'étage n°" + floor + ' !');
} else {
alert("L'étage spécifié n'existe pas.");
}
À noter que la
structureelse if
peut être utilisée plusieurs fois de suite, la seule
chose qui lui est nécessaire pour pouvoir fonctionner est d'avoir une condition avec la
structureif
juste avant elle.
Nous venons d'étudier le fonctionnement de la
conditionif else
qui est très utile dans de nombreux cas, toutefois
elle n'est pas très pratique pour faire du cas par cas ; c'est là
qu'intervientswitch
!
Prenons un exemple : nous avons un meuble avec quatre tiroirs
contenant chacun des objets différents, et il faut que l'utilisateur puisse connaître le contenu du tiroir dont il
entre le chiffre. Si nous voulions le faire avecif else
ce serait
assez long et fastidieux :
var drawer = parseInt(prompt('Choisissez le tiroir à ouvrir (1 à 4) :'));
if (drawer == 1) {
alert('Contient divers outils pour dessiner : du papier, des crayons, etc.');
} else if (drawer == 2) {
alert('Contient du matériel informatique : des câbles, des composants, etc.');
} else if (drawer == 3) {
alert('Ah ? Ce tiroir est fermé à clé ! Dommage !');
} else if (drawer == 4) {
alert('Contient des vêtements : des chemises, des pantalons, etc.');
} else {
alert("Info du jour : le meuble ne contient que 4 tiroirs et, jusqu'à preuve du contraire, les tiroirs négatifs n'existent pas.");
}
C'est long, non ? Et en plus ce n'est
pas très adapté à ce que l'on souhaite faire. Le plus gros problème est de devoir réécrire à chaque fois la
condition ; mais avecswitch
c'est un peu plus facile :
var drawer = parseInt(prompt('Choisissez le tiroir à ouvrir (1 à 4) :'));
switch (drawer) {
case 1:
alert('Contient divers outils pour dessiner : du papier, des crayons, etc.');
break;
case 2:
alert('Contient du matériel informatique : des câbles, des composants, etc.');
break;
case 3:
alert('Ah ? Ce tiroir est fermé à clé ! Dommage !');
break;
case 4:
alert('Contient des vêtements : des chemises, des pantalons, etc.');
break;
default:
alert("Info du jour : le meuble ne contient que 4 tiroirs et, jusqu'à preuve du contraire, les tiroirs négatifs n'existent pas.");
}
Comme vous pouvez le constater, le code n'est pas spécialement plus court mais il est déjà mieux organisé et donc plus compréhensible. Détaillons maintenant son fonctionnement :
On écrit le
mot-cléswitch
suivi de la variable à analyser entre parenthèses et
d'une paire d'accolades ;
Dans les
accolades se trouvent tous les cas de figure pour notre variable, définis par le
mot-clécase
suivi de la valeur qu'il doit prendre en compte (cela
peut être un nombre mais aussi du texte) et de deux points ;
Tout ce qui
suit les deux points d'uncase
sera exécuté si la variable analysée
par leswitch
contient la valeur
ducase
;
À chaque fin
d'uncase
on écrit
l'instructionbreak
pour « casser »
leswitch
et ainsi éviter d'exécuter le reste du code qu'il
contient ;
Et enfin on
écrit le mot-clédefault
suivi de deux points. Le code qui suit
cette instruction sera exécuté si aucun des cas précédents n'a été exécuté. Attention, cette partie est
optionnelle, vous n'êtes pas obligés de l'intégrer à votre code.
Dans l'ensemble, vous n'aurez pas de mal à comprendre le
fonctionnement duswitch
, en revanche
l'instructionbreak
vous posera peut-être problème,
je vous invite donc à essayer le
code sans cette instruction.
Vous commencez à comprendre le
problème ? Sans l'instructionbreak
vous exécutez tout le code contenu
dans leswitch
à partir
ducase
que vous avez choisi. Ainsi, si vous choisissez le tiroir n°2
c'est comme si vous exécutiez ce code :
alert('Contient du matériel informatique : des câbles, des composants, etc.');
alert('Ah ? Ce tiroir est fermé à clé ! Dommage !');
alert('Contient des vêtements : des chemises, des pantalons, etc.');
alert("Info du jour : le meuble ne contient que 4 tiroirs et, jusqu'à preuve du contraire, les tiroirs négatifs n'existent pas.");
Dans certains cas, ce système peut être pratique mais cela reste extrêmement rare.
Avant de clore
cette partie, il est nécessaire de vous faire comprendre un point essentiel :
unswitch
permet de faire une action en fonction d'une valeur mais
aussi en fonction du type de la valeur (comme l'opérateur ===), ce qui veut dire que ce
code n'affichera jamais « Bravo ! » :
var drawer = prompt('Entrez la valeur 1 :');
switch (drawer) {
case 1:
alert('Bravo !');
break;
default:
alert('Perdu !');
}
En effet, nous avons retiré la
fonctionparseInt()
de notre code, ce qui veut dire que nous passons
une chaîne de caractères à notreswitch
. Puisque ce dernier vérifie
aussi les types des valeurs, le message « Bravo ! » ne sera jamais affiché.
En revanche, si nous modifions notre
premiercase
pour vérifier une chaîne de caractères plutôt qu'un nombre
alors nous n'avons aucun problème :
var drawer = prompt('Entrez la valeur 1 :');
switch (drawer) {
case '1':
alert('Bravo !');
break;
default:
alert('Perdu !');
}
Et voici enfin le dernier type de condition, les ternaires. Vous allez voir qu'elles sont très particulières, tout d'abord parce qu'elles sont très rapides à écrire (mais peu lisibles) et surtout parce qu'elles renvoient une valeur.
Pour que vous puissiez bien comprendre dans quel cas de figure vous
pouvez utiliser les ternaires, nous allons commencer par un petit exemple avec la
conditionif else
:
var startMessage = 'Votre catégorie : ',
endMessage,
adult = confirm('Êtes-vous majeur ?');
if (adult) { // La variable « adult » contient un booléen, on peut donc directement la soumettre à la structure if sans opérateur conditionnel
endMessage = '18+';
} else {
endMessage = '-18';
}
alert(startMessage + endMessage);
Comme vous pouvez le constater, le code est plutôt long pour un résultat assez moindre. Avec les ternaires vous pouvez vous permettre de simplifier votre code de façon substantielle :
var startMessage = 'Votre catégorie : ',
endMessage,
adult = confirm('Êtes-vous majeur ?');
endMessage = adult ? '18+' : '-18';
alert(startMessage + endMessage);
Alors comment fonctionnent les
ternaires ? Pour le comprendre il faut regarder la ligne 5 du code précédent
:endMessage = adult ? '18+' : '-18';
Si l'on décompose cette
ligne on peut voir :
La
variableendMessage
qui va accueillir le résultat de la ternaire ;
La
variableadult
qui va être analysée par la ternaire ;
Un point d'interrogation suivi d'une valeur (un nombre, du texte, etc.) ;
Deux points suivis d'une deuxième valeur et enfin le point-virgule marquant la fin de la ligne d'instructions.
Le fonctionnement est simple : si la
variableadult
vauttrue
alors
la valeur retournée par la ternaire sera celle écrite juste après le point d'interrogation, si elle
vautfalse
alors la valeur retournée sera celle après les deux points.
Pas très compliqué n'est-ce pas ? Les ternaires sont des conditions très simples et rapides à écrire, mais elles ont la mauvaise réputation d'être assez peu lisibles (on ne les remarque pas facilement dans un code de plusieurs lignes). Beaucoup de personnes en déconseillent l'utilisation, pour notre part nous vous conseillons plutôt de vous en servir car elles sont très utiles. Si vous épurez bien votre code les ternaires seront facilement visibles, ce qu'il vous faut éviter ce sont des codes de ce style :
alert('Votre catégorie : ' + (confirm('Êtes-vous majeur ?') ? '18+' : '-18'));
Impressionnant n'est-ce pas ? Notre code initial faisait onze lignes et maintenant tout est condensé en une seule ligne. Toutefois, il faut reconnaître que c'est très peu lisible. Les ternaires sont très utiles pour raccourcir des codes mais il ne faut pas pousser leurs capacités à leur paroxysme ou bien vous vous retrouverez avec un code que vous ne saurez plus lire vous-même.
Bref, les ternaires c'est bon, mangez-en ! Mais pas jusqu'à l'indigestion !
Le JavaScript est un langage assez particulier dans sa syntaxe, vous
vous en rendrez compte par la suite si vous connaissez déjà un autre langage plus « conventionnel ». Le cas
particulier que nous allons étudier ici concerne le test des variables : il est possible de tester si une variable
possède une valeur sans même utiliser l'instructiontypeof
!
Pour tester l'existence de contenu d'une variable, il faut tout d'abord savoir que tout se joue au niveau de la conversion des types. Vous savez que les variables peuvent être de plusieurs types : les nombres, les chaînes de caractères, etc. Eh bien ici nous allons découvrir que le type d'une variable (quel qu'il soit) peut être converti en booléen même si à la base on possède un nombre ou une chaîne de caractères.
Voici un exemple simple :
var conditionTest = 'Fonctionnera ? Fonctionnera pas ?';
if (conditionTest) {
alert('Fonctionne !');
} else {
alert('Ne fonctionne pas !');
}
Le code nous affiche le texte «
Fonctionne ! ». Pourquoi ? Tout simplement parce que la
variableconditionTest
a été convertie en booléen et que son contenu est
évalué comme étant vrai (true
).
Qu'est-ce qu'un contenu vrai ou faux ? Eh bien, il suffit simplement
de lister les contenus faux pour le savoir : un nombre qui vaut zéro ou bien une chaîne de caractères vide. C'est
tout, ces deux cas sont les seuls à être évalués comme étant àfalse
.
Bon, après il est possible d'évaluer des attributs, des méthodes, des objets, etc. Seulement, vous verrez cela plus
tard.
Encore un cas à part : l'opérateur OU ! Celui-ci, en plus de sa
fonction principale, permet de renvoyer la première variable possédant une valeur évaluée
àtrue
! Exemple :
var conditionTest1 = '', conditionTest2 = 'Une chaîne de caractères';
alert(conditionTest1 || conditionTest2);
Au final, ce code nous retourne la
valeur « Une chaîne de caractères ». Pourquoi ? Eh bien parce que l'opérateur OU va se charger de retourner la
valeur de la première variable dont le contenu est évalué àtrue
. Ceci
est extrêmement pratique ! Tâchez de bien vous en rappeler car nous allons nous en resservir fréquemment !
Bien, maintenant que vous avez appris à vous servir des conditions, il serait intéressant de faire un petit exercice pour que vous puissiez vous entraîner.
Qu'est-ce que l'on va essayer de faire ? Quelque chose de tout simple : fournir un commentaire selon l'âge de la personne. Vous devez fournir un commentaire sur quatre tranches d'âge différentes qui sont les suivantes :
Tranche d'âge |
Exemple de commentaire |
---|---|
1 à 17 ans |
« Vous n'êtes pas encore majeur. » |
18 à 49 ans |
« Vous êtes majeur mais pas encore senior. » |
50 à 59 ans |
« Vous êtes senior mais pas encore retraité. » |
60 à 120 ans |
« Vous êtes retraité, profitez de votre temps libre ! » |
Le déroulement du code sera le suivant :
L'utilisateur charge la page Web ;
Il est ensuite invité à taper son âge dans une fenêtre d'interaction ;
Une fois l'âge fourni l'utilisateur obtient un petit commentaire.
L'intérêt de cet exercice n'est pas spécialement de sortir un commentaire pour chaque tranche d'âge, mais surtout que vous cherchiez à utiliser la structure conditionnelle la plus adaptée et que vous puissiez préparer votre code à toutes les éventualités.
Et voici la correction :
var age = parseInt(prompt('Quel est votre âge ?')); // Ne pas oublier : il faut "parser" (cela consiste à analyser) la valeur renvoyée par prompt() pour avoir un nombre !
if (age <= 0) { // Il faut bien penser au fait que l'utilisateur peut rentrer un âge négatif
alert("Oh vraiment ? Vous avez moins d'un an ? C'est pas très crédible =p");
} else if (1 <= age && age < 18) {
alert("Vous n'êtes pas encore majeur.");
} else if (18 <= age && age < 50) {
alert('Vous êtes majeur mais pas encore senior.');
} else if (50 <= age && age < 60) {
alert('Vous êtes senior mais pas encore retraité.');
} else if (60 <= age && age <= 120) {
alert('Vous êtes retraité, profitez de votre temps libre !');
} else if (age > 120) { // Ne pas oublier les plus de 120 ans, ils n'existent probablement pas mais on le met dans le doute
alert("Plus de 120 ans ?!! C'est possible ça ?!");
} else { // Si prompt() contient autre chose que les intervalles de nombres ci-dessus alors l'utilisateur a écrit n'importe quoi
alert("Vous n'avez pas entré d'âge !");
}
Alors, est-ce que vous aviez bien pensé à toutes les éventualités ?
J'ai un doute pour la condition de la structureelse
!
En effet, l'utilisateur peut choisir de ne pas rentrer un nombre mais un mot ou une phrase quelconque, dans ce cas
la fonctionparseInt()
ne va pas réussir à trouver de nombre et va donc
renvoyer la valeurNaN
(évaluée
àfalse
) qui signifie Not a Number. Nos différentes
conditions ne se vérifieront donc pas et la structureelse
sera
finalement exécutée, avertissant ainsi l'utilisateur qu'il n'a pas entré de nombre.
Pour ceux qui ont choisi d'utiliser les ternaires ou
lesswitch
, nous vous conseillons de relire un peu ce chapitre car ils
ne sont clairement pas adaptés à ce type d'utilisation.
Une condition
retourne une valeur booléenne
:true
oufalse
.
De nombreux opérateurs existent afin de tester des conditions et ils peuvent être combinés entre eux.
La
conditionif else
est la plus utilisée et permet de combiner les
conditions.
Quand il
s'agit de tester une égalité entre une multitude de valeurs, la
conditionswitch
est préférable.
Les ternaires
sont un moyen concis d'écrire des conditionsif else
et ont
l'avantage de retourner une valeur.