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 Essayez-le »
x == 5 true Essayez-le »
x == "5" true Essayez-le »
=== valeur égale et type égal x === 5 true Essayez-le »
x === "5" false Essayez-le »
!= pas égal x != 8 true Essayez-le »
!== valeur pas égale ou type pas égal x !== 5 false Essayez-le »
x !== "5" true Essayez-le »
x !== 8 true Essayez-le »
> supérieur à x > 8 false Essayez-le »
< inférieur à x < 8 true Essayez-le »
>= supérieur ou égal à x >= 8 false Essayez-le »
<= inférieur ou égal à x <= 8 true Essayez-le »

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;
Essayez-le vous-même »

Notez que les chaînes sont comparées par ordre alphabétique :

Exemple

let text1 = "20";
let text2 = "5";
let result = text1 < text2;
Essayez-le vous-même »

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 Essayez-le »
2 < "12" true Essayez-le »
2 < "John" false Essayez-le »
2 > "John" false Essayez-le »
2 == "John" false Essayez-le »
"2" < "12" false Essayez-le »
"2" > "12" true Essayez-le »
"2" == "12" false Essayez-le »

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";
}
Essayez-le vous-même »