Opérateurs arithmétiques

Objectif

  • Connaître les opérateurs arithmétiques les plus communs et savoir les utiliser

Mise en situation

Dans un cours précédent, nous avons vu que les variables servaient à stocker des données afin de les réutiliser et les manipuler par la suite. Dans le cas des données de type numérique (integer, float), différentes opérations sont possibles par le biais des opérateurs arithmétiques. Nous allons voir à quoi ils servent et comment les utiliser.

Les opérateurs arithmétiques standards

Les opérateurs arithmétiques utilisent des valeurs numériques comme opérandes, sous forme de littéraux ou de variables, et renvoient une valeur numérique. Les plus utilisés sont l'addition, la soustraction, la multiplication et la division.

Les opérateurs arithmétiques standards (+, -, * et /) fonctionnent de la même manière que toute opération classique.

1
const maVariableNumerique = 10;
2
3
const addition = maVariableNumerique + 5;
4
// addition vaudra 15
5
6
const soustraction = maVariableNumerique - 5;
7
// soustraction vaudra 5
8
9
10
const multiplication = maVariableNumerique * 5;
11
// multiplication vaudra 50
12
13
14
const division = maVariableNumerique / 5;
15
// division vaudra 2

Remarque

En plus des opérateurs arithmétiques standards, JavaScript fournit quelques opérateurs arithmétiques supplémentaires, comme le modulo (%), l'incrémentation (++), la décrémentation (--), le plus et la négation unaire (+ et -).

Le modulo

Le modulo (%) est un opérateur qui renvoie le reste entier de la division entre deux opérandes. Ce reste est toujours plus petit que la valeur du diviseur.

1
const monNumerateur = 63;
2
const monDenominateur = 5;
3
4
const modulo = monNumerateur % monDenominateur;
5
// modulo vaudra 3
1
let modulo = 63 % 5;
2
// modulo vaudra 3
3
4
modulo = -63 % 5;
5
// modulo vaudra -3
6
7
modulo = 63 % -5;
8
// modulo vaudra 3
9
10
modulo = -63 % -5;
11
// modulo vaudra -3

L'incrémentation et la décrémentation

L'incrémentation permet d'ajouter 1 à l'opérande et renvoie une valeur numérique. Si l'opérateur est utilisé en suffixe (variable++), il renvoie la valeur avant l'incrémentation. S'il est utilisé en préfixe (++variable), il renvoie la valeur après l'incrémentation.

1
let maVariable = 5;
2
3
const incrementationSuffixe = maVariable++;
4
// incrementationSuffixe vaudra 5 et maVariable vaudra 6
5
6
const incrementationPrefixe = ++maVariable;
7
// incrementationPrefixe vaudra 6 et maVariable vaudra 6

La décrémentation permet de soustraire 1 à l'opérande et renvoie une valeur numérique. Si l'opérateur est utilisé en suffixe (variable--), il renvoie la valeur avant la décrémentation. S'il est utilisé en préfixe (--variable), il renvoie la valeur après la décrémentation.

1
let maVariable = 12;
2
3
const decrementationSuffixe = maVariable--;
4
// decrementationSuffixe vaudra 12 et maVariable vaudra 11
5
6
const decrementationPrefixe = --maVariable;
7
// decrementationPrefixe vaudra 11 et maVariable vaudra 11

Le plus unaire et la négation unaire

Le plus unaire est situé avant l'opérande et retourne l'opérande, converti en nombre si cela est possible et que ce n'en est pas déjà un. Il permet donc de convertir des chaînes de caractères composées uniquement de nombres entiers ou flottants, ainsi que des booléens et la valeur null. Si l'opération ne peut pas être effectuée, la valeur retournée sera NaN.

NaN représente la valeur « Not a Number ». Cette propriété indique que la valeur n’est pas un nombre « légal » ou, plus simplement, la valeur n’est pas un nombre. Il est rare de l’utiliser dans un programme.

Généralement, on va le récupérer à la suite d’une fonction mathématique qui a échoué ou quand une fonction qui tente d’interpréter un nombre échoue (exemple : parseFloat(« coucou »)).

1
+12;
2
// Sera évalué à 12
3
+"12"
4
// Sera évalué à 12
5
+true
6
// Sera évalué à 1
7
+false
8
// Sera évalué à 0
9
+null
10
// Sera évalué à 0
11
+"chaîne de caractères"
12
// Sera évalué à NaN

Le moins unaire est situé avant l'opérande et retourne l'opposé de l'opérande, après l'avoir converti en nombre si cela est possible et nécessaire.

1
let maVariable = 12;
2
-maVariable;
3
// Sera évalué à -12
4
5
maVariable = -12;
6
-maVariable;
7
// Sera évalué à 12
8
9
-"12"
10
// Sera évalué à -12
11
12
-true
13
// Sera évalué à -1
14
15
-false
16
// Sera évalué à 0
17
18
-null
19
// Sera évalué à 0
20
21
-"chaîne de caractères"
22
// Sera évalué à NaN

SyntaxeÀ retenir

  • Nous avons vu comment procéder à des opérations standards telles que les additions, soustractions, multiplications et divisions, mais aussi comment incrémenter et décrémenter une valeur, et obtenir le reste entier d'une division grâce au modulo.

  • Ces opérations sont les plus courantes en JavaScript et seront donc utiles dans de nombreuses situations.