Ce chapitre documente l'ensemble des opérateurs, expressions et mots-clés utilisés en JavaScript.
Expressions et opérateurs, par catégorie
Pour une liste alphabétique, voir le volet de navigation situé à gauche sur cette page.
Expressions primaires
Les mots-clés basiques et les expressions générales en JavaScript.
this
- Le mot-clé
this
fait référence au contexte d'exécution de la fonction. 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 pour une fonction génératrice. yield
- Cet opérateur permet de suspendre et de reprendre l'exécution d'une fonction génératrice.
yield*
- Cet opérateur permet de déléguer l'exécution de la fonction à une autre fonction ou un autre objet itérable.
[]
- Littéral initialisateur de tableau.
{}
- Littéral initialisateur d'objet.
/ab+c/i
- Littéral d'expression rationnelle.
( )
- Opérateur de groupement.
Expressions « vers la gauche »
On affectera des valeurs aux variables à gauche de l'expression.
- Opérateurs de membres
- Les opérateurs de membres permettent d'accéder à une propriété ou une méthode d'un objet (
objet.propriété
etobject["propriété"]
). new
- L'opérateur
new
permet de créer une instance d'un constructeur. - new.target
- Dans les constructeurs,
new.target
fait référence au constructeur invoqué parnew
. super
- Le mot-clé
super
permet d'appeler le constructeur parent. ...obj
- L'opérateur de décomposition permet de développer une expression là où on attend plusieurs arguments (pour des appels de fonctions) ou plusieurs éléments (pour les littéraux de tableaux).
Incrémentation et décrémentation
Les opérateurs d'incrémentation et de décrémentation, suffixe et préfixe :
A++
- Opérateur d'incrémentation suffixe.
A--
- Opérateur de décrémentation suffixe.
++A
- Opérateur d'incrémentation préfixe.
--A
- Opérateur de décrémentation préfixe.
Opérateurs unaires
Une opération unaire est une opération qui ne possède qu'un opérande.
delete
- L'opérateur
delete
permet de supprimer une propriété d'un objet. void
- L'opérateur
void
écarte la valeur de retour d'une expression. typeof
- L'opérateur
typeof
permet de déterminer le type d'un objet donné. +
- Le plus unaire permet de convertir son opérande en une valeur du type
Number
. -
- La négation unaire permet de convertir son opérande en une valeur du type
Number
puis d'en prendre l'opposé. ~
- L'opérateur binaire NON (NOT).
!
- L'opérateur du NON logique.
Opérateurs arithmétiques
Les opérateurs arithmétiques utilisent des opérandes numériques et renvoie une valeur numérique.
+
- L'opérateur d'addition.
-
- L'opérateur de soustraction.
/
- L'opérateur de division.
*
- L'opérateur de multiplication.
%
- L'opérateur du reste.
**
- Opérateur de puissance (exponentiation).
Opérateurs relationnels
Un opérateur de comparaison permet de comparer deux opérandes et de renvoyer une valeur booléenne selon le résultat de cette comparaison.
in
- L'opérateur
in
permet de déterminer si un objet possède une propriété donnée. instanceof
- L'opérateur
instanceof
permet de déterminer si un objet est une instance d'un autre objet. <
- Opérateur inférieur strict.
>
- Opérateur supérieur strict.
<=
- Opérateur inférieur ou égal.
>=
- Opérateur supérieur ou égal.
Note : =>
n'est pas un opérateur. Il s'agit de la notation utilisée pour les fonctions fléchées.
Opérateurs d'égalité
Un opérateur d'égalité considère deux opérandes et produit un résultat booléen basé sur le résultat de la comparaison.
==
- Opérateur d'égalité faible.
!=
- Opérateur d'inégalité faible.
===
- Opérateur d'égalité stricte.
!==
- Opérateur d'inégalité stricte.
Opérateurs de décalage binaires
Ces opérations permettent de décaler les bits contenus dans l'opérande.
<<
- Opérateur binaire de décalage à gauche.
>>
- Opérateur binaire de décalage à droite.
>>>
- Opérateur binaire de décalage à droite non-signé.
Opérateurs binaires logiques
Les opérateurs binaires logiques traitent leurs opérandes comme des valeurs sur 32 bits et renvoient une valeur numérique JavaScript correspondant au résultat.
Opérateurs logiques
Les opérateurs logiques sont généralement utilisés avec des valeurs booléennes et renvoient une valeur booléenne, résultat de l'opération.
Opérateur conditionnel ternaire
(condition ? siVrai : siFaux)
-
Cet opérateur renvoie une des deux valeurs fournie en fonction de la valeur logique de la condition.
Opérateurs d'affectation
Un opérateur d'affectation permet d'affecter une valeur à son opérande gauche en se basant sur la valeur de l'opérande droit.
=
- Opérateur d'affectation.
*=
- Affectation après multiplication.
/=
- Affectation après division.
%=
- Affectation du reste.
+=
- Affectation après addition.
-=
- Affectation après soustraction.
<<=
- Affectation après décalage à gauche.
>>=
- Affectation après décalage à droite.
>>>=
- Affectation après décalage à droite non-signé.
&=
- Affectation après ET binaire.
^=
- Affectation après OU exclusif binaire.
|=
- Affectation après OU binaire.
[a, b] = [1, 2]
{a, b} = {a:1, b:2}
-
L'affectation par décomposition permet de d'affecter des propriétés d'un objet ou des éléments d'un tableau à plusieurs variables. Cela permet d'utiliser une syntaxe semblable aux littéraux de tableaux/objets.
Opérateur virgule
,
- L'opérateur virgule permet d'évaluer plusieurs expressions en une seule instruction et de renvoyer le résultat de la dernière expression.
Fonctionnalités non-standards
-
Opérateurs/Expression_fonction_génératrice_historique
- Le mot-clé
function
peut être utilisé afin de définir une fonction génératrice historique. au sein d'une expression. - Expression de fermetures
- La syntaxe d'expression de fermeture est un raccourci pour écrire des fonctions simples.
-
[for (x of y) x]
- Compréhensions de tableau.
-
(for (x of y) y)
- Compréhensions de générateurs.
Spécifications
Spécification | Statut | Commentaires |
---|---|---|
ECMAScript 1st Edition (ECMA-262) La définition de 'Expressions' dans cette spécification. |
Standard | Définition initiale. |
ECMAScript 5.1 (ECMA-262) La définition de 'Expressions' dans cette spécification. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) La définition de 'ECMAScript Language: Expressions' dans cette spécification. |
Standard | Nouveaux éléments : opérateur de décomposition, affectation par décomposition, mot-clé super . |
ECMAScript 2017 Draft (ECMA-262) La définition de 'ECMAScript Language: Expressions' dans cette spécification. |
Projet |
Voir aussi
- La précédence des opérateurs en JavaScript