En JavaScript, on peut comparer les nombres à l'aide des opérateurs relationnels et d'égalité suivants :
| Comparaison | Opérateur |
|---|---|
| Supérieur à | a > b |
| Supérieur ou égal à | a >= b |
| Inférieur à | a < b |
| Inférieur ou égal à | a <= b |
| Égal (strict) | a === b |
| Différent (strict) | a !== b |
Le résultat d'une comparaison est toujours une valeur booléenne : true ou false.
1 < 3;
// => true
2 !== 2;
// => false
1 === 1.0;
// => true
// All numbers are floating-points, so this is different syntax for
// the exact same value.
En JavaScript, les opérateurs de comparaison ci-dessus peuvent aussi servir à comparer des strings. Dans ce cas, c'est l'ordre lexicographique (celui du dictionnaire) qui s'applique. Tu peux trouver la liste de l'ordre exact de tous les caractères ici.
'Apple' > 'Pear';
// => false
'a' < 'above';
// => true
'a' === 'A';
// => false
Une façon courante d'exécuter du code de manière conditionnelle en JavaScript est l'instruction if.
Elle se compose du mot-clé if, d'une condition entre parenthèses et d'un bloc de code entre accolades.
Le bloc de code n'est exécuté que si la condition vaut true.
if (condition) {
// code that is executed if "condition" is true
}
On peut l'utiliser seule ou la combiner avec le mot-clé else.
if (condition) {
// code that is executed if "condition" is true
} else {
// code that is executed otherwise
}
Pour imbriquer une autre condition dans l'instruction else, tu peux utiliser else if.
if (condition1) {
// code that is executed if "condition1" is true
} else if (condition2) {
// code that is executed if "condition2" is true
// but "condition1" was false
} else {
// code that is executed otherwise
}
Dans cet exercice, tu vas écrire du code pour t'aider à préparer l'achat d'un véhicule.
Tu as trois tâches : une pour déterminer si tu auras besoin d'un permis, une pour t'aider à choisir entre deux véhicules et une pour estimer le prix acceptable d'un véhicule d'occasion.
Certains types de véhicules nécessitent un permis de conduire pour pouvoir être conduits.
Suppose que seuls les types 'car' et 'truck' nécessitent un permis ; tout le reste peut être conduit sans permis.
Implémente la fonction needsLicense(kind) qui prend le type de véhicule et renvoie un booléen indiquant si tu as besoin d'un permis pour ce type de véhicule.
needsLicense('car');
// => true
needsLicense('bike');
// => false
Tu évalues les véhicules disponibles.
Tu réussis à réduire le choix à deux options, mais tu as besoin d'aide pour prendre la décision finale.
Pour cela, implémente la fonction chooseVehicle(option1, option2) qui prend deux véhicules en arguments et renvoie une décision qui inclut l'option qui vient en premier dans l'ordre alphabétique.
chooseVehicle('Wuling Hongguang', 'Toyota Corolla');
// => 'Toyota Corolla is clearly the better choice.'
chooseVehicle('Volkswagen Beetle', 'Volkswagen Golf');
// => 'Volkswagen Beetle is clearly the better choice.'
Maintenant que tu as pris ta décision, tu veux t'assurer d'obtenir un prix équitable chez le concessionnaire. Comme tu cherches à acheter un véhicule d'occasion, le prix dépend de l'âge du véhicule. Pour une estimation approximative, suppose que si le véhicule a moins de 3 ans, il coûte 80 % du prix d'origine qu'il avait lorsqu'il était neuf. S'il a plus de 10 ans, il coûte 50 %. Si le véhicule a au moins 3 ans mais pas plus de 10 ans, il coûte 70 % du prix d'origine.
Implémente la fonction calculateResellPrice(originalPrice, age) qui applique cette logique avec if, else if et else (il existe d'autres façons si tu veux t'entraîner).
Elle prend le prix d'origine et l'âge du véhicule en arguments et renvoie le prix estimé chez le concessionnaire.
calculateResellPrice(1000, 1);
// => 800
calculateResellPrice(1000, 5);
// => 700
calculateResellPrice(1000, 15);
// => 500
Inscris-toi sur Exercism pour apprendre et maîtriser JavaScript avec 37 concepts159 exercices, et un vrai mentorat humain, le tout gratuitement.