Conditions

Les conditions

En JavaScript, une condition est considérée comme :

  • fausse lorsque la valeur résultante est false, null, 0 ou undefined ;
  • vraie pour toutes les autres valeurs non précédemment citées.

JavaScript propose des opérateurs de comparaison nous permettant d'effectuer des comparaisons entre variables, entre opérations et entre variables et opérations.

Les exemples de conditions donnés ci-dessous sont dans un contexte hors script (il ne s'agit pas d'instruction). Les conditions sont exploitables par l'utilisation des structures conditionnelles et itératives présentées par la suite.

Ces exemples impliquent la variable déclarée et valorisée telle que :

var nombre = 5;

 

L'égalité

Pour tester l'égalité, on utilise l'opérateur de comparaison "égal égal" :

nombre == 4

 

Dans l'exemple ci-dessus, "nombre" n'est pas égale à 4. La condition est donc fausse (false).

Une erreur fréquente avec cet opérateur est l'oubli de doubler le signe "égal" :

nombre = 4

 

Il s'agit toujours d'une condition : est-ce que l'opération de valorisation de la variable "nombre" par 4 a réussie ? Cette condition est toujours vraie (true). Veillez à ne pas oublier ce deuxième signe ; le résultat de votre script en dépend.

La différence

Pour tester la différence, on utilise l'opérateur de comparaison "point d'exclamation égal" :

nombre != 6

 

Dans l'exemple ci-dessus, "nombre" est bien différent de 6. La condition est donc vraie (true).

L'identité et la non identité

Il existe un opérateur de comparaison pour tester l'égalité de valeur et de type : "égal égal égal".

nombre === "5"

 

Dans l'exemple ci-dessus, la condition est fausse :

  1. la valeur de "nombre" est égale à la chaîne de caractères "5" ;
  2. la valeur de "nombre" est un nombre ; son type est différent de celui de "5".

De plus, un opérateur de comparaison "point d'exclamation égal égal" permet de tester la différence de valeur et de type :

nombre !== "5"

 

Dans l'exemple ci-dessus, la condition est vraie.

L'infériorité stricte et l'infériorité

Pour tester une infériorité stricte, on utilise l'opérateur de comparaison "chevron gauche" :

nombre < 6

 

Dans l'exemple ci-dessus, la condition est vraie.

Pour tester une infériorité, on utilise l'opérateur de comparaison "chevron gauche égal" :

nombre <= 5

 

Dans l'exemple ci-dessus, la condition est vraie.

La supériorité stricte et la supériorité

Pour tester une supériorité stricte, on utilise l'opérateur de comparaison "chevron droit" :

nombre > 6

 

Dans l'exemple ci-dessus, la condition est fausse.

Pour tester une supériorité, on utilise l'opérateur de comparaison "chevron droit égal" :

nombre >= 5

 

Dans l'exemple ci-dessus, la condition est vraie.

Associer des conditions

Dans de nombreux cas, les conditions à vérifier nécessiteront d'être associées. JavaScript introduit des opérateurs logiques qui vont nous permettre de faire cela.

Première condition ou deuxième condition

Pour associer deux conditions avec l'opérateur logique "ou", on utilise les signes "pipe pipe" :

nombre == 4 || nombre <= 5

 

Dans l'exemple ci-dessus, la condition globale est vraie:

  1. la première condition n'est pas remplie : "nombre" est différent de 4 ;
  2. la deuxième condition est remplie : "nombre" est égale à 5.

Pour que la condition globale soit vraie, il est nécessaire que l'une des deux conditions soit remplie.

Première condition et deuxième condition

Pour associer deux conditions avec l'opérateur logique "et", on utilise les signes "esperluette esperluette" :

nombre > 1 && nombre < 5

 

Dans l'exemple ci-dessus, la condition globale est fausse :

  1. la première condition est remplie : "nombre" est supérieur à 1 ;
  2. la deuxième condition n'est pas remplie : "nombre" n'est pas inférieure à 5.

Pour que la condition globale soit vraie, il est nécessaire que les deux conditions soient remplies.

Inverser le résultat d'une condition

Il est possible d'inverser le résultat d'une condition en la faisant précéder de l'opérateur logique "point d'exclamation" :

!nombre == 5

 

"nombre" est égale à 5 ; la condition est vraie. La présence du "point d'exclamation" inverse le résultat : la condition est désormais considérée comme fausse.

Les opérateurs de calcul, de comparaison et logiques peuvent être utilisés et combinés autant de fois que nécessaire pour définir vos conditions :

(nombre > 1 && (nombre + 1) < 5) || (nombre + 1) >= 6

 

Dans l'exemple ci-dessus, la condition globale est vraie :

  1. "nombre" est supérieur à 1 mais pas inférieur à 5 après ajout de 1 ;
  2. la première condition globale n'est pas remplie ;
  3. "nombre" est égale à 6 après ajout de 1 ;
  4. la deuxième condition globale est remplie.

Vu la complexité de relecture de ces conditions, en plus des commentaires, prenez l'habitude d'utiliser les parenthèses pour regrouper les composantes de vos conditions.

A noter que les opérations de calcul effectuées dans ces conditions n'affectent en rien la valeur stockée par la variable.