Comparaison JavaScript et opérateurs logiques
Les opérateurs de comparaison et logiques sont utilisés pour tester true
ou
false
.
Opérateurs de comparaison
Les opérateurs de comparaison sont utilisés dans les instructions logiques pour déterminer l'égalité ou la différence entre des variables ou des valeurs.
Sachant que x = 5
, le tableau ci-dessous explique les opérateurs de comparaison :
Operator | Description | Comparing | Returns | Try it |
---|---|---|---|---|
== | equal to | x == 8 | false | |
x == 5 | true | |||
x == "5" | true | |||
=== | equal value and equal type | x === 5 | true | |
x === "5" | false | |||
!= | not equal | x != 8 | true | |
!== | not equal value or not equal type | x !== 5 | false | |
x !== "5" | true | |||
x !== 8 | true | |||
> | greater than | x > 8 | false | |
< | less than | x < 8 | true | |
>= | greater than or equal to | x >= 8 | false | |
<= | less than or equal to | x <= 8 | true |
Comment peut-il être utilisé
Les opérateurs de comparaison peuvent être utilisés dans des instructions conditionnelles pour comparer des valeurs et prendre des mesures en fonction du résultat :
if (age < 18) text = "Too young to buy alcohol";
Vous en apprendrez plus sur l'utilisation des instructions conditionnelles dans le prochain chapitre de ce didacticiel.
Opérateurs logiques
Les opérateurs logiques sont utilisés pour déterminer la logique entre les variables ou les valeurs.
Étant donné que x = 6
et y = 3
, le tableau ci-dessous explique les opérateurs logiques :
Operator | Description | Example | Try it |
---|---|---|---|
&& | and | (x < 10 && y > 1) is true | |
|| | or | (x == 5 || y == 5) is false | |
! | not | !(x == y) is true |
Opérateur conditionnel (ternaire)
JavaScript contient également un opérateur conditionnel qui attribue une valeur à une variable en fonction d'une condition.
Syntaxe
variablename = (condition) ? value1:value2
Exemple
let voteable = (age < 18) ? "Too young":"Old enough";
Si la variable age est une valeur inférieure à 18 ans, la valeur de la variable votable sera "Trop jeune", sinon la valeur de votable sera "Assez vieux".
Comparer différents types
La comparaison de données de différents types peut donner des résultats inattendus.
Lors de la comparaison d'une chaîne avec un nombre, JavaScript convertira la chaîne en un nombre lors de la comparaison. Une chaîne vide est convertie en 0. Une chaîne non numérique est convertie en NaN
laquelle est toujours false
.
Case | Value | Try |
---|---|---|
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", car (par ordre alphabétique) 1 est inférieur à 2.
Pour garantir un résultat correct, les variables doivent être converties dans le type approprié avant la comparaison :
age = Number(age);
if (isNaN(age)) {
voteable = "Input is not a number";
} else {
voteable = (age < 18) ? "Too young" : "Old enough";
}