ternaires

Retour d'un niveau
Retour à l'accueil


Conditions
switch
if else


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-'

Retour d'un niveau
Retour à l'accueil