Expressions et opérateurs
Ce chapitre documente l'ensemble des opérateurs, expressions et mots-clés pour le langage JavaScript.
Expressions et opérateurs par catégorie
Pour une liste triée par ordre alphabétique, voir sur la barre de navigation à gauche.
Expressions primaires
Mots-clés de base et expressions générales en JavaScript.
this
-
Le mot-clé
this
fait référence à une propriété spéciale indiquant le contexte d'exécution. function
-
Le mot-clé
function
définit une expression de fonction. class
-
Le mot-clé
class
définit une expression de classe. function*
-
Le mot-clé
function*
définit une expression de générateur. yield
-
Ce mot-clé permet de suspendre ou de reprendre l'exécution d'une fonction génératrice.
yield*
-
Ce mot-clé délègue à une autre fonction génératrice ou à un objet itérable.
async function
-
Le couple de mots-clés
async function
définit une expression de fonction asynchrone. await
-
Ce mot-clé permet de suspendre et de reprendre l'exécution d'une fonction asynchrone et d'attendre la résolution ou l'échec de la promesse.
[]
-
Syntaxe d'initialisation littérale pour les tableaux.
{}
-
Syntaxe d'initialisation littérale pour les objets.
/ab+c/i
-
Syntaxe pour les expressions littérales d'expressions rationnelles.
( )
-
Opérateur de groupement.
Expression « vers la gauche »
Les valeurs situées à gauche sont la cible de l'affectation.
- Accesseurs de propriété
-
Les opérateurs d'accès aux membres permettent d'accéder à une propriété ou à une méthode d'un objet. (cela regroupe
objet.propriete
etobjet["propriete"]
). new
-
L'opérateur
new
crée une instance grâce à un constructeur. new.target
-
Pour les constructeurs,
new.target
fait référence au constructeur invoqué avecnew
. import.meta
-
Un objet qui expose des métadonnées spécifiques au contexte pour un module JavaScript.
super
-
Le mot-clé
super
appelle le constructeur parent. ...obj
-
La syntaxe de décomposition permet de développer une expression là où plusieurs arguments (dans le cas des appels à une fonction) ou là où plusieurs éléments (dans le cas des tableaux) sont attendus.
Incrémentation et décrémentation
Opérateurs unaires
Une opération unaire est une opération qui ne manipule qu'un seul opérande.
delete
-
L'opérateur
delete
permet de supprimer une propriété d'un objet. void
-
L'opérateur
void
permet d'ignorer la valeur de retour d'une expression. typeof
-
L'opérateur
typeof
détermine le type d'un objet donné. +
-
L'opérateur unaire
+
convertit son opérande en une valeur de typenumber
. -
-
L'opérateur unaire
-
convertit son opérande en nombre puis prend son opposé. ~
-
L'opérateur binaire NON.
!
-
L'opérateur logique NON.
Opérateurs arithmétiques
Les opérateurs arithmétiques utilisent des valeurs numériques (littérales ou variables) pour leurs opérandes et renvoient une seule valeur numérique en résultat.
Opérateurs relationnels
Un opérateur de comparaison compare ses opérandes et renvoie une valeur booléenne en fonction de la vérité de cette comparaison.
in
-
L'opérateur
in
détermine la présence d'une propriété donnée au sein d'un objet. instanceof
-
L'opérateur
instanceof
détermine si un objet est une instance d'un autre objet. <
-
L'opérateur d'infériorité strict.
>
-
L'opérateur de supériorité stricte.
<=
-
L'opérateur d'infériorité.
>=
-
L'opérateur de supériorité.
Note : =>
n'est pas un opérateur mais la notation utilisée pour les fonctions fléchées.
Opérateurs d'égalité
Opérateurs de décalage binaires
Opérateurs binaires booléens
Opérateurs logiques
Opérateur conditionnel ternaire
(condition ? ifTrue : ifFalse)
-
L'opérateur conditionnel renvoie une valeur parmi deux selon la valeur logique de la condition portée par le premier opérande.
Opérateur de chaînage optionnel
Opérateurs d'affectation
Un opérateur d'affectation permet d'affecter une valeur à son opérande gauche en fonction de la valeur de son opérande droit.
=
-
Opérateur d'affectation.
*=
-
Opérateur de multiplication et d'affectation.
**=
-
Opérateur d'exponentiation et d'affectation.
/=
-
Opérateur de division et d'affectation.
%=
-
Opérateur de reste et d'affectation.
+=
-
Opérateur d'addition et d'affectation.
-=
-
Opérateur de soustraction et d'affectation
<<=
-
Opérateur de décalage à gauche et d'affectation.
>>=
-
Opérateur de décalage à droite et d'affectation.
>>>=
-
Opérateur de décalage à droite non signé et d'affectation.
&=
-
Opérateur binaire ET et d'affectation.
^=
-
Opérateur binaire OU exclusif et d'affectation.
|=
-
Opérateur binaire OU et d'affectation.
&&=
-
Opérateur booléen ET et d'affectation.
||=
-
Opérateur booléen OU et d'affectation.
??=
-
Opérateur d'affectation et de logique nulle.
[a, b] = [1, 2]
{a, b} = {a:1, b:2}
-
L'affectation par décomposition permet d'affecter les propriétés d'un tableau ou d'un objet à des variables en utilisant une syntaxe similaire à celle des littéraux pour les tableaux et les objets.
Opérateur virgule
,
-
L'opérateur virgule permet d'évaluer plusieurs expressions dans une seule instruction et renvoie le résultat de la dernière expression.
Spécifications
Compatibilité des navigateurs
BCD tables only load in the browser