Passer au contenu principal
eLearner.app
Module 1 · Leçon 4 sur 44/32 dans le cours~10 min
Leçons du module (4/4)

Conditionnels : if, else, ternaire

Presque jamais un programme n'exécute toutes ses instructions à la suite. Il doit constamment décider : si le prix est inférieur au seuil, appliquer la remise ; si l'utilisateur est connecté, afficher le tableau de bord ; sinon afficher la page de connexion. Les instructions qui servent à prendre des décisions sont appelées conditionnelles.

if / else

La forme de base est if (condizione) { … } else { … }:

JS
const eta = 20;

if (eta >= 18) {
  console.log('Maggiorenne');
} else {
  console.log('Minorenne');
}

La condition entre parenthèses est évaluée ; si elle est "vraie" (en JS, on dit truthy), le premier bloc est exécuté, sinon le second.

Chaînes else if

Lorsque les cas sont plus de deux, ils sont enchaînés avec else if :

JS
const punti = 87;
if (punti >= 90) {
  console.log('Eccellente');
} else if (punti >= 70) {
  console.log('Buono');
} else if (punti >= 50) {
  console.log('Sufficiente');
} else {
  console.log('Da migliorare');
}

Seule la première branche qui correspond est exécutée.

Truthy et falsy

JS considère six valeurs comme "falsy" : false, 0, '' (chaîne vide), null, undefined, NaN. Tout le reste est truthy — même '0', 'false' et le tableau vide [].

JS
if ('0') console.log('arriva qui'); // 'arriva qui'
if ([]) console.log('e anche qui'); // 'e anche qui'
if (0) console.log('mai'); // (mai)

L'opérateur ternaire cond ? a : b

Lorsqu'un if/else ne produit qu'une seule valeur, l'opérateur ternaire permet de l'exprimer en une seule ligne et s'avère souvent plus lisible :

JS
const eta = 20;
const stato = eta >= 18 ? 'adulto' : 'minorenne';

À vous de jouer

Exercice#js.m1.l4.e1
Tentatives : 0Chargement…

Étant donné une note de 0 à 10, renvoyez 'promosso' si la note est >= 6, sinon 'bocciato'. La dernière expression doit s'évaluer à 'promosso' avec grade = 7.

Chargement de l'éditeur…
Afficher l'indice

Utilisez le ternaire `cond ? a : b` comme dernière expression.

Solution disponible après 3 tentatives

Esercizio di ripasso

Exercice#js.m1.l4.e2
Tentatives : 0Chargement…

Classifiez une température : 'caldo' si >= 25, 'tiepido' si >= 15, 'freddo' sinon. Avec `t = 20`, le résultat attendu est 'tiepido'.

Chargement de l'éditeur…
Afficher l'indice

Vous pouvez imbriquer des ternaires : `a >= 25 ? 'caldo' : a >= 15 ? 'tiepido' : 'freddo'`.

Solution disponible après 3 tentatives