blob: 5ad2bd93a0cfe8685cb696c63bb1d65f975dabee (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
|
---
title: Expressions et opérateurs
slug: Web/JavaScript/Reference/Operators
tags:
- JavaScript
- Landing page
- Operators
- Overview
- Reference
translation_of: Web/JavaScript/Reference/Operators
original_slug: Web/JavaScript/Reference/Opérateurs
browser-compat: javascript.operators
---
{{jsSidebar("Operators")}}
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`](/fr/docs/Web/JavaScript/Reference/Operators/this)
- : Le mot-clé `this` fait référence à une propriété spéciale indiquant le contexte d'exécution.
- [`function`](/fr/docs/Web/JavaScript/Reference/Operators/function)
- : Le mot-clé `function` définit une expression de fonction.
- [`class`](/fr/docs/Web/JavaScript/Reference/Operators/class)
- : Le mot-clé `class` définit une expression de classe.
- [`function*`](/fr/docs/Web/JavaScript/Reference/Operators/function*)
- : Le mot-clé `function*` définit une expression de générateur.
- [`yield`](/fr/docs/Web/JavaScript/Reference/Operators/yield)
- : Ce mot-clé permet de suspendre ou de reprendre l'exécution d'une fonction génératrice.
- [`yield*`](/fr/docs/Web/JavaScript/Reference/Operators/yield*)
- : Ce mot-clé délègue à une autre fonction génératrice ou à un objet itérable.
- [`async function`](/fr/docs/Web/JavaScript/Reference/Operators/async_function)
- : Le couple de mots-clés `async function` définit une expression de fonction asynchrone.
- [`await`](/fr/docs/Web/JavaScript/Reference/Operators/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.
- [`[]`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array)
- : Syntaxe d'initialisation littérale pour les tableaux.
- [`{}`](/fr/docs/Web/JavaScript/Reference/Operators/Object_initializer)
- : Syntaxe d'initialisation littérale pour les objets.
- [`/ab+c/i`](/fr/docs/Web/JavaScript/Reference/Global_Objects/RegExp)
- : Syntaxe pour les expressions littérales d'expressions rationnelles.
- [`( )`](/fr/docs/Web/JavaScript/Reference/Operators/Grouping)
- : Opérateur de groupement.
### Expression « vers la gauche »
Les valeurs situées à gauche sont la cible de l'affectation.
- [Accesseurs de propriété](/fr/docs/Web/JavaScript/Reference/Operators/Property_Accessors)
- : 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` et `objet["propriete"]`).
- [`new`](/fr/docs/Web/JavaScript/Reference/Operators/new)
- : L'opérateur `new` crée une instance grâce à un constructeur.
- [`new.target`](/fr/docs/Web/JavaScript/Reference/Operators/new.target)
- : Pour les constructeurs, `new.target` fait référence au constructeur invoqué avec [`new`](/fr/docs/Web/JavaScript/Reference/Operators/new).
- [`import.meta`](/fr/docs/Web/JavaScript/Reference/Statements/import.meta)
- : Un objet qui expose des métadonnées spécifiques au contexte pour un module JavaScript.
- [`super`](/fr/docs/Web/JavaScript/Reference/Operators/super)
- : Le mot-clé `super` appelle le constructeur parent.
- [`...obj`](/fr/docs/Web/JavaScript/Reference/Operators/Spread_syntax)
- : 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
Des opérateurs préfixes ou suffixes pour incrémenter/décrémenter.
- [`A++`](/fr/docs/Web/JavaScript/Reference/Operators/Increment)
- : L'opérateur d'incrémentation suffixe.
- [`A--`](/fr/docs/Web/JavaScript/Reference/Operators/Decrement)
- : L'opérateur de décrémentation suffixe.
- [`++A`](/fr/docs/Web/JavaScript/Reference/Operators/Increment)
- : L'opérateur d'incrémentation préfixe.
- [`--A`](/fr/docs/Web/JavaScript/Reference/Operators/Decrement)
- : L'opérateur de décrémentation préfixe.
### Opérateurs unaires
Une opération unaire est une opération qui ne manipule qu'un seul opérande.
- [`delete`](/fr/docs/Web/JavaScript/Reference/Operators/delete)
- : L'opérateur `delete` permet de supprimer une propriété d'un objet.
- [`void`](/fr/docs/Web/JavaScript/Reference/Operators/void)
- : L'opérateur `void` permet d'ignorer la valeur de retour d'une expression.
- [`typeof`](/fr/docs/Web/JavaScript/Reference/Operators/typeof)
- : L'opérateur `typeof` détermine le type d'un objet donné.
- [`+`](/fr/docs/Web/JavaScript/Reference/Operators/Unary_plus)
- : L'opérateur unaire `+` convertit son opérande en une valeur de type `number`.
- [`-`](/fr/docs/Web/JavaScript/Reference/Operators/Unary_negation)
- : L'opérateur unaire `-` convertit son opérande en nombre puis prend son opposé.
- [`~`](/fr/docs/Web/JavaScript/Reference/Operators/Bitwise_NOT)
- : L'opérateur binaire NON.
- [`!`](/fr/docs/Web/JavaScript/Reference/Operators/Logical_NOT)
- : 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.
- [`+`](/fr/docs/Web/JavaScript/Reference/Operators/Addition)
- : L'opérateur d'addition.
- [`-`](/fr/docs/Web/JavaScript/Reference/Operators/Subtraction)
- : L'opérateur de soustraction.
- [`/`](/fr/docs/Web/JavaScript/Reference/Operators/Division)
- : L'opérateur de division.
- [`*`](/fr/docs/Web/JavaScript/Reference/Operators/Multiplication)
- : L'opérateur de multiplication.
- [`%`](/fr/docs/Web/JavaScript/Reference/Operators/Remainder)
- : L'opérateur du reste.
- [`**`](/fr/docs/Web/JavaScript/Reference/Operators/Exponentiation)
- : L'opérateur d'exponentiation.
### 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`](/fr/docs/Web/JavaScript/Reference/Operators/in)
- : L'opérateur `in` détermine la présence d'une propriété donnée au sein d'un objet.
- [`instanceof`](/fr/docs/Web/JavaScript/Reference/Operators/instanceof)
- : L'opérateur `instanceof` détermine si un objet est une instance d'un autre objet.
- [`<`](/fr/docs/Web/JavaScript/Reference/Operators/Less_than)
- : L'opérateur d'infériorité strict.
- [`>`](/fr/docs/Web/JavaScript/Reference/Operators/Greater_than)
- : L'opérateur de supériorité stricte.
- [`<=`](/fr/docs/Web/JavaScript/Reference/Operators/Less_than_or_equal)
- : L'opérateur d'infériorité.
- [`>=`](/fr/docs/Web/JavaScript/Reference/Operators/Greater_than_or_equal)
- : L'opérateur de supériorité.
> **Note :** `=>` n'est pas un opérateur mais la notation utilisée pour [les fonctions fléchées](/fr/docs/Web/JavaScript/Reference/Functions/Arrow_functions).
### 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.
- [`==`](/fr/docs/Web/JavaScript/Reference/Operators/Equality)
- : L'opérateur d'égalité.
- [`!=`](/fr/docs/Web/JavaScript/Reference/Operators/Inequality)
- : L'opérateur d'inégalité.
- [`===`](/fr/docs/Web/JavaScript/Reference/Operators/Strict_equality)
- : L'opérateur d'égalité stricte.
- [`!==`](/fr/docs/Web/JavaScript/Reference/Operators/Strict_inequality)
- : L'opérateur d'inégalité stricte.
### Opérateurs de décalage binaires
Ces opérations permettent de décaler les bits de la représentation binaire de l'opérande.
- [`<<`](/fr/docs/Web/JavaScript/Reference/Operators/Left_shift)
- : Opérateur de décalage binaire à gauche.
- [`>>`](/fr/docs/Web/JavaScript/Reference/Operators/Right_shift)
- : Opérateur de décalage binaire à droite.
- [`>>>`](/fr/docs/Web/JavaScript/Reference/Operators/Unsigned_right_shift)
- : Opérateur de décalage binaire à droite non signé.
### Opérateurs binaires booléens
Ces opérateurs manipulent leurs opérandes comme des ensembles de 32 bits et renvoient des valeurs numériques standard.
- [`&`](/fr/docs/Web/JavaScript/Reference/Operators/Bitwise_AND)
- : Opérateur ET/AND binaire.
- [`|`](/fr/docs/Web/JavaScript/Reference/Operators/Bitwise_OR)
- : Opérateur OU/OR binaire.
- [`^`](/fr/docs/Web/JavaScript/Reference/Operators/Bitwise_XOR)
- : Opérateur OU exclusif/XOR binaire.
### Opérateurs logiques
Les opérateurs logiques sont généralement utilisés avec des valeurs booléennes, quand c'est le cas, la valeur de retour de l'expression est une valeur booléenne.
- [`&&`](/fr/docs/Web/JavaScript/Reference/Operators/Logical_AND)
- : Opérateur logique ET/AND.
- [`||`](/fr/docs/Web/JavaScript/Reference/Operators/Logical_OR)
- : Opérateur logique OU/OR.
- [`??`](/fr/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator)
- : Opérateur de coalescence des nuls.
### Opérateur conditionnel ternaire
- [`(condition ? ifTrue : ifFalse)`](/fr/docs/Web/JavaScript/Reference/Operators/Conditional_Operator)
- : 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
- [`?.`](/fr/docs/Web/JavaScript/Reference/Operators/Optional_chaining)
- : L'opérateur de chaînage optionnel renvoie `undefined` plutôt que de causer une erreur si une référence vaut [`null`](/fr/docs/Web/JavaScript/Reference/Global_Objects/null) ou [`undefined`](/fr/docs/Web/JavaScript/Reference/Global_Objects/undefined).
### 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.
- [`=`](/fr/docs/Web/JavaScript/Reference/Operators/Assignment)
- : Opérateur d'affectation.
- [`*=`](/fr/docs/Web/JavaScript/Reference/Operators/Multiplication_assignment)
- : Opérateur de multiplication et d'affectation.
- [`**=`](/fr/docs/Web/JavaScript/Reference/Operators/Exponentiation_assignment)
- : Opérateur d'exponentiation et d'affectation.
- [`/=`](/fr/docs/Web/JavaScript/Reference/Operators/Division_assignment)
- : Opérateur de division et d'affectation.
- [`%=`](/fr/docs/Web/JavaScript/Reference/Operators/Remainder_assignment)
- : Opérateur de reste et d'affectation.
- [`+=`](/fr/docs/Web/JavaScript/Reference/Operators/Addition_assignment)
- : Opérateur d'addition et d'affectation.
- [`-=`](/fr/docs/Web/JavaScript/Reference/Operators/Subtraction_assignment)
- : Opérateur de soustraction et d'affectation
- [`<<=`](/fr/docs/Web/JavaScript/Reference/Operators/Left_shift_assignment)
- : Opérateur de décalage à gauche et d'affectation.
- [`>>=`](/fr/docs/Web/JavaScript/Reference/Operators/Right_shift_assignment)
- : Opérateur de décalage à droite et d'affectation.
- [`>>>=`](/fr/docs/Web/JavaScript/Reference/Operators/Unsigned_right_shift_assignment)
- : Opérateur de décalage à droite non signé et d'affectation.
- [`&=`](/fr/docs/Web/JavaScript/Reference/Operators/Bitwise_AND_assignment)
- : Opérateur binaire ET et d'affectation.
- [`^=`](/fr/docs/Web/JavaScript/Reference/Operators/Bitwise_XOR_assignment)
- : Opérateur binaire OU exclusif et d'affectation.
- [`|=`](/fr/docs/Web/JavaScript/Reference/Operators/Bitwise_OR_assignment)
- : Opérateur binaire OU et d'affectation.
- [`&&=`](/fr/docs/Web/JavaScript/Reference/Operators/Logical_AND_assignment)
- : Opérateur booléen ET et d'affectation.
- [`||=`](/fr/docs/Web/JavaScript/Reference/Operators/Logical_OR_assignment)
- : Opérateur booléen OU et d'affectation.
- [`??=`](/fr/docs/Web/JavaScript/Reference/Operators/Logical_nullish_assignment)
- : Opérateur d'affectation et de logique nulle.
- [`[a, b] = [1, 2]`](/fr/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment)
[`{a, b} = {a:1, b:2}`](/fr/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment)
- : 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
- [`,`](/fr/docs/Web/JavaScript/Reference/Operators/Comma_Operator)
- : 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
{{Specifications}}
## Compatibilité des navigateurs
{{Compat}}
## Voir aussi
- [Précédence des opérateurs en JavaScript](/fr/docs/Web/JavaScript/Reference/Operators/Operator_Precedence)
|