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
Les mots-clés de base et les expressions générales en JavaScript. Ces expressions ont la plus haute priorité (plus élevée que celle des opérateurs).
this-
Le mot-clé
thisfait référence à une propriété spéciale d'un contexte d'exécution. - Littéraux
-
Littéraux de base
null, booléens, nombres et chaînes de caractères. []-
Syntaxe d'initialisation/littérale d'un tableau.
{}-
Syntaxe d'initialisation/littérale d'un objet.
function-
Le mot-clé
functiondéfinit une expression de fonction. class-
Le mot-clé
classdéfinit une expression de classe. function*-
Le mot-clé
function*définit une expression de fonction génératrice. async function-
Le mot-clé
async functiondéfinit une expression de fonction asynchrone. async function*-
Les mots-clés
async function*définissent une expression de fonction génératrice asynchrone. /ab+c/i-
Syntaxe littérale des expressions régulières.
`string`-
Syntaxe des littéraux gabarits.
( )-
Opérateur de regroupement.
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 (
object.propertyetobject["property"]). ?.-
L'opérateur de chaînage optionnel retourne
undefinedau lieu de provoquer une erreur si une référence est &équivalent à nulle (nullouundefined). new-
L'opérateur
newcrée une instance d'un constructeur. new.target-
Dans les constructeur,
new.targetfait référence au constructeur qui est invoqué parnew. import.meta-
Un objet exposant des métadonnées spécifiques au contexte à un module JavaScript.
super-
Le mot-clé
superappelle le constructeur parent ou permet d'accéder aux propriétés de l'objet parent. import()-
La syntaxe
import()permet de charger un module de manière asynchrone et dynamique dans un environnement qui n'est pas nécessairement un module.
Incrémentation et décrémentation
Des opérateurs préfixes ou suffixes pour incrémenter/décrémenter.
Opérateurs unaires
Une opération unaire est une opération qui ne manipule qu'un seul opérande.
delete-
L'opérateur
deletesupprime une propriété dans un objet. void-
L'opérateur
voidévalue une expression et ignore sa valeur de retour. typeof-
L'opérateur
typeofdétermine le type d'un objet donné. +-
L'opérateur plus unaire convertit son opérande en type
Number. --
L'opérateur de négation unaire convertit son opérande en type
Number, puis le rend négatif. ~-
L'opérateur NOT binaire.
!-
L'opérateur NOT logique.
await-
Met en pause puis reprend une fonction asynchrone et attend que la promesse soit complétée/rompue.
Opérateurs arithmétiques
Les opérateurs arithmétiques prennent des valeurs numériques (littéraux ou variables) comme opérandes et retournent une seule valeur numérique.
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.
<(Moins que)-
L'opérateur d'infériorité stricte.
>(Plus que)-
L'opérateur de supériorité stricte.
<=-
L'opérateur d'infériorité.
>=-
L'opérateur de supériorité.
instanceof-
L'opérateur
instanceofdétermine si un objet est une instance d'un autre objet. in-
L'opérateur
indétermine la présence d'une propriété donnée au sein d'un objet.
Note :
=> n'est pas un opérateur, mais la notation utilisée pour les fonctions fléchées.
Opérateurs d'égalité
Le résultat de l'évaluation fournie par un opérateur d'égalité est toujours un booléen, fonction de la vérité de la comparaison effectuée.