ternaires
Retour d'un niveau
Retour à l'accueil
Les ternaires est le dernier type de condition.
Elles sont particulières, très rapides à écrire et elles renvoient une valeur
Exemple classique avec la condition if else :
/*var startMessage = 'Votre catégorie : ', endMessage, adult = window.confirm('Êtes-vous majeur ?');*/ // déclaration de la condition ternaire var startMessage = 'Votre catégorie : ', // contient une string endMessage, // contient une string adult = confirm('Êtes-vous majeur ?'); // contient un booléen 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); // affiche le contenu de la var alert + le contenu de la var endMessage
Comment ça fonctionne avec le if else ?
1. la var startMessage de type “string“
2. la var endMessage de type “string“
3. la var adult de type “booléen” dut à la méthode confirm qui renvoie true ou false
Avec la ternaire
On simplifie le code car avec une ternaire on a le choix de donner une valeur à une variable par rapport au test d'une autre condition sur une variable qui renverra true ou false.
La ternaire est composée de 3 membres:
var startMessage = 'Votre catégorie : ', endMessage, adult = window.confirm('Êtes-vous majeur ?'); // si adult prend true la variable enMmessage prendra la valeur '18+' sinon elle prendra la valeur '18-' // on a le choix true : false endMessage = adult ? '18+' : '-18'; alert(startMessage + endMessage);
Comment ça fonctionne avec la ternaire ?
1. on déclare une var endMessage sans valeur
2. on déclare une var adult qui renverra un booléen qui sera soit true ou false
3. on affecte deux valeurs séparées par les deux points : à var endMessage dans le cas une une sera true et l'autre false
4. si le la var adult renvoit true, la var endMessage basculera vers la partie true et prendra la string '18+' comme valeur
sinon si la var adult renvoie false, la var endMessage basculera alors vers la partie false et prendra la string '18-' comme valeur
Donc en fonction de ce que la var adult renverra comme booléen, la var endMessage prendra soit la valeur '18+' soit la valeur '18-';
| var adult | |
|---|---|
| true | false |
| var endMessage | |
| '18+' | '18-' |
| Si var adult = true |
|---|
| Alors var endMessage = '18+' |
| Si var adult = false |
|---|
| Alors var endMessage = '18-' |
