open

Les opérateurs en Javascript

#1 Présentation des opérateurs. Priorité. open

Opérateur unaire ou opérateur binaire

Les opérateurs sont là pour faire des opérations entre des valeurs ou entre des valeurs qui sont stockées dans des variables c'est la même chose et retourner un résultat. Le résultat de l'opération.

Il existe des opérateurs qui ont deux opérandes. On les appelle les opérateurs binaires. Par exemple l'addition de 4 + 3. Le + est l'opérateur binaire et le 3 et 4 sont les opérandes. Il en existe d'autres qui sont unaire et qui ont une seul opérande par exemple typeof x. Enfin certains opérateurs peuvent être unaire -3 ou binaire 4 - 3. Et il y a encore d'autres cas possibles par exemple l'opérateur ternaire qu'on verra dans un tuto dédié.

Combinaison d'opérateur ou expression

Lorsque l'on combine les opérateurs on obtient une expression. Par exemple 4 + 3 * 7.

Ordre d'évaluation des opérateurs

Si l'on doit faire dans sa tête l'opération suivante 4 + 3 * 7 on a deux solutions :

  • faire l'addition en premier ce qui donne 49.
  • faire la multiplication en premier ce qui donne 25.

Donc vous voyez bien qu'il va falloir définir un ordre de passage pour décider de qui passe en premier. Ici en l'occurrence l'addition ou la multiplication.

Un langage de programmation établit des règles qui définissent cet ordre de passge. On parle de règles de précédence ou de priorité des opérateurs.

Ici Javascript va décider de faire la multiplication en premier et l'addition ensuite. On dit que la multiplication est prioritaire par rapport à l'addition. Si ça ne vous convient pas vous avez la solution de parenthéser (4+3)*7.

#2 Les opérateurs sur les variables de type number open

Les opérateurs arithmétiques + - * / ** %

Ci-dessous vous avez la liste des principaux opérateurs disponibles en Javascript sur les number.

OpérationOpérateur
Modulo%
Puissance**
Division/
Multiplication*
Soustraction-
Addition+

Ci-dessous vous avez les règles de précédence pour ces opérateurs.

Priorité du plus au moins
()
* / ** %
- +
=

Les situations sont nombreuses et je vous renvoie à cette page si vous avez une difficulté particulière.

Les opérateurs += et -=

On affecte à la variable sa valeur courante et on lui ajoute (ou soustrait) la valeur de l'opérande qui est à droite de l'opérateur.

Si vous êtes gêné par le x = x + 5; c'est probablement que vous confondez une équation mathématique avec une instruction informatique. On ne parle pas ici d'égalité mais d'affectation !

Les opérateurs d'incrémentation ++ et --

Pour incrémenter on utilise l'opérateur ++ que l'on place soit devant la variable soit derrière la variable.

Si c'est devant alors la variable est incrémentée avant son utilisation. Si c'est derrière alors la variable est incrémentée après.

Pour décrémenter on utilise -- en lieu et place du ++.

Les opérateurs de comparaisons > < >= <= == != === !==

On peut tester si une variable est plus grande x>you plus petite x<yque l'autre.

On peut tester si une variable est égale à une autre == ou bien si une variable est différente d'une autre !=

On peut également tester si elles sont égales et de même type ===. (Il y a bien trois signes =)

Ici x est égal à y car x avec la valeur 0 est considéré comme ayant la "valeur" booléenne false. Mais x est de type number et y est de type boolean

#3 Les opérateurs sur les variables de type string open

La concaténation

La principale opération que l'on fait sur des chaînes en utilisant un opérateur est la concaténation. On assemble les chaînes bout à bout. Il en faut deux minimum.

Javascript considère que concaténer des chaînes revient à les ajouter et utilise ici aussi l'opérateur +.

L'opérateur + est donc utilisé en Javascript avec deux types d'opérande différents. On dit qu'il est surchargé. On se doute que pour aller chercher le bon opérateur, l'interpréteur Javascript va se baser sur le type des opérandes. Il est donc important d'être sûr que les deux opérandes sont du même type, soit number soit string.

La comparaison

Vous pouvez savoir si deux chaînes sont égales en utilisant l'opérateur == ou différentes en utilisant !=. La comparaison est case sensitive.

La comparaison selon l'ordre alphabétique

On peut comparer des chaînes avec < ou >. La comparaison se fait selon le rangement du jeu de caractère unicode. Si on résume on trouve d'abord les chiffres puis les lettres majuscules puis les lettres minuscules [0-9A-Za-z]

Autres opérations

Les autres opérations traditionnelles de manipulation de chaînes (recherche ou extraction de sous-chaîne) se font avec des "fonctions" spécifiques.

#4 Les opérateurs sur les variables de type boolean open

Le ET logique &&

Le && est un opérateur binaire. Il faut que les deux opérandes soient true pour que le résultat de l'opération soit true.

On peut faire la liste de tous les cas possibles et rassembler les résultats dans un tableau.

bol1bol2Résultat du &&
truetruetrue
truefalsefalse
falsetruefalse
falsefalsefalse

Le OU logique ||

Le || est un opérateur binaire. Il suffit que l'un des deux opérandes soient true pour que le résultat de l'opération soit true.

bol1bol2Résultat du ||
truetruetrue
truefalsetrue
falsetruetrue
falsefalsefalse

La négation logique !

Le ! est un opérateur unaire. Si l'opérande vaut true l'opération vaut false. Si l'opérande vaut false l'opération vaut true.

bolRésultat du !
truefalse
falsetrue

Combiner les opérateurs

Si on combine les opérateurs logiques on fabrique une expression logique et ici aussi il y a une priorité au niveau des opérateurs.

Dans un ordre de priorité décroissante on a la négation puis le ET puis le OU

Ici le ET se fait en premier et vous voyez que ce n'est pas le même résultat si vous faites le OU en premier