Proposition pour l'exercice 1.2.5
Bonjour,
Après lecture de tous les commentaires, je vous propose de reformuler la partie "Cours" de l'exercice 1.2.5 comme ci-dessous. J'ai ajouté un commentaire culturel sur les opérateurs et laissé seulement l'utilisation de ?: comme opérateur.
Qu'en dites-vous ? Si vous êtes d'accord, je me charge de la mise à jour.
Cordialement,
Damien.
Cours
La plupart des opérateurs des langages de programmation sont unaires (1 seul opérande) ou binaires (2 opérandes). C'est notamment le cas des opérateurs arithmétiques et logiques usuels comme + ou >= (binaires, x + 3, x >= y) ou ! et - (unaires, ! trouve, - y). Parmi les opérateurs unaires, on peut aussi citer typeof vu lors de l'exercice précédent (typeof hi).
L'opérateur ? : est ternaire, il nécessite 3 opérandes : une condition (expression booléenne) et deux valeurs. Il évalue l'expression booléenne et si elle est vraie renvoie la première valeur et sinon la seconde, à la manière d'un simple if...else.
Les deux codes suivants sont équivalents :
Code:
1 2 3 4 5
| if (condition) {
x = valeurSiVrai;
} else {
x = valeurSiFaux;
} |
Code:
x = condition ? valeurSiVrai : valeurSiFaux;
Dans l'exemple ci-dessous :
Code:
console.log(number >= 0 ? '+' : '-'); // Affiche "+" si la variable "number" est positive, sinon "-"
si la variable number est supérieure ou égale à 0, l'expression number >= 0 ? '+' : '-' renvoie + et sinon -. Ce résultat devient l'argument de la fonction console.log.
On peut imbriquer des conditions ternaires ou les utiliser avec des expressions plus complexes, mais dans ce cas la lisibilité devient souvent inférieure à celle d'une structure if...else.
Lutte contre le décrochage scolaire
Bonjour à tous,
J'espère que vous avez passé de bonnes vacances.
Beginner a un peu sonné l'heure de la rentrée en me demandant si l'aventure continuait.
Si c'est le cas je propose d'essayer de passer des exos en production, il y en a quelques uns en attente.
Quoi qu'il en soit je lui ai répondu que l'aventure continuait. Donc si on est en retard pour mettre des exos en prod, je pourrai en communiquer sur mon blog. Cela permettra de temporiser un peu sans perdre nos élèves ni mettre de la pressions aux correcteurs validateurs.
A+
Marc