Comparaison JavaScript
Opérateurs de comparaison
Les opérateurs de comparaison sont utilisés pour comparer deux valeurs .
Ces opérateurs renvoient toujours true ou false .
Étant donné que x = 5 , le tableau ci-dessous explique les opérateurs de comparaison :
| Opérateur | Description | Comparaison | Renvoie | |
|---|---|---|---|---|
| == | égal à | x == 8 | false | |
| x == 5 | true | |||
| x == "5" | true | |||
| === | valeur égale et type égal | x === 5 | true | |
| x === "5" | false | |||
| != | pas égal | x != 8 | true | |
| !== | valeur pas égale ou type pas égal | x !== 5 | false | |
| x !== "5" | true | |||
| x !== 8 | true | |||
| > | supérieur à | x > 8 | false | |
| < | inférieur à | x < 8 | true | |
| >= | supérieur ou égal à | x >= 8 | false | |
| <= | inférieur ou égal à | x <= 8 | true |
Les opérateurs de comparaison peuvent être utilisés dans des instructions conditionnelles pour comparer des valeurs et agir en fonction du résultat :
if (age < 18) text = "Trop jeune pour acheter de l'alcool"; Vous en apprendrez davantage sur l'utilisation des instructions conditionnelles dans le chapitre if...else de ce tutoriel.
Comparaison de chaînes JavaScript
Tous les opérateurs de comparaison ci-dessus peuvent également être utilisés sur des chaînes :
Exemple
let text1 = "A";
let text2 = "B";
let result = text1 < text2; Notez que les chaînes sont comparées par ordre alphabétique :
Exemple
let text1 = "20";
let text2 = "5";
let result = text1 < text2; Comparaison de différents types
Comparer des données de types différents peut donner des résultats inattendus.
Lors de la comparaison d'une chaîne avec un nombre, JavaScript convertira la chaîne en nombre. Une chaîne vide se convertit en 0. Une chaîne non numérique se convertit en NaN , qui est toujours false .
| Cas | Valeur | Essayer |
|---|---|---|
| 2 < 12 | true | |
| 2 < "12" | true | |
| 2 < "John" | false | |
| 2 > "John" | false | |
| 2 == "John" | false | |
| "2" < "12" | false | |
| "2" > "12" | true | |
| "2" == "12" | false |
Lors de la comparaison de deux chaînes, "2" sera supérieur à "12".
Alphabétiquement, 1 est inférieur à 21.
Pour obtenir un résultat correct, les variables doivent être converties au bon type avant la comparaison :
Exemple
age = Number(age);
if (isNaN(age)) {
voteable = "L'entrée n'est pas un nombre";
} else {
voteable = (age < 18) ? "Trop jeune" : "Assez vieux";
}