| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Operators | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
Ce chapitre documente l'ensemble des oprateurs, expressions et mots-cls pour le langage JavaScript.
Pour une liste trie par ordre alphabtique, voir sur la barre de navigation gauche.
Les mots-cls de base et les expressions gnrales en JavaScript. Ces expressions ont la plus haute priorit (plus leve que celle des oprateurs).
thisLe mot-cl this fait rfrence une proprit spciale d'un contexte d'excution.
Littraux de base null, boolens, nombres et chanes de caractres.
[]Syntaxe d'initialisation/littrale d'un tableau.
{}Syntaxe d'initialisation/littrale d'un objet.
functionLe mot-cl function dfinit une expression de fonction.
classLe mot-cl class dfinit une expression de classe.
function*Le mot-cl function* dfinit une expression de fonction gnratrice.
async functionLe mot-cl async function dfinit une expression de fonction asynchrone.
async function*Les mots-cls async function* dfinissent une expression de fonction gnratrice asynchrone.
/ab+c/iSyntaxe littrale des expressions rgulires.
`string`Syntaxe des littraux gabarits.
( )Oprateur de regroupement.
Les valeurs situes gauche sont la cible de l'affectation.
Les oprateurs d'accs aux membres permettent d'accder une proprit ou une mthode d'un objet (object.property et object["property"]).
?.L'oprateur de chanage optionnel retourne undefined au lieu de provoquer une erreur si une rfrence est &quivalent nulle (null ou undefined).
newL'oprateur new cre une instance d'un constructeur.
new.targetDans les constructeur, new.target fait rfrence au constructeur qui est invoqu par new.
import.metaUn objet exposant des mtadonnes spcifiques au contexte un module JavaScript.
superLe mot-cl super appelle le constructeur parent ou permet d'accder aux proprits de l'objet parent.
import()La syntaxe import() permet de charger un module de manire asynchrone et dynamique dans un environnement qui n'est pas ncessairement un module.
Des oprateurs prfixes ou suffixes pour incrmenter/dcrmenter.
A++L'oprateur d'incrmentation suffixe.
A--L'oprateur de dcrmentation suffixe.
++AL'oprateur d'incrmentation prfixe.
--AL'oprateur de dcrmentation prfixe.
Une opration unaire est une opration qui ne manipule qu'un seul oprande.
deleteL'oprateur delete supprime une proprit dans un objet.
voidL'oprateur void value une expression et ignore sa valeur de retour.
typeofL'oprateur typeof dtermine le type d'un objet donn.
+L'oprateur plus unaire convertit son oprande en type Number.
-L'oprateur de ngation unaire convertit son oprande en type Number, puis le rend ngatif.
~L'oprateur NOT binaire.
!L'oprateur NOT logique.
awaitMet en pause puis reprend une fonction asynchrone et attend que la promesse soit complte/rompue.
Les oprateurs arithmtiques prennent des valeurs numriques (littraux ou variables) comme oprandes et retournent une seule valeur numrique.
**L'oprateur d'exponentiation.
*L'oprateur de multiplication.
/L'oprateur de division.
%L'oprateur de reste.
+ (Plus)L'oprateur d'addition.
-L'oprateur de soustraction.
Un oprateur de comparaison compare ses oprandes et renvoie une valeur boolenne en fonction de la vrit de cette comparaison.
< (Moins que)L'oprateur d'infriorit stricte.
> (Plus que)L'oprateur de supriorit stricte.
<=L'oprateur d'infriorit.
>=L'oprateur de supriorit.
instanceofL'oprateur instanceof dtermine si un objet est une instance d'un autre objet.
inL'oprateur in dtermine la prsence d'une proprit donne au sein d'un objet.
Note :
=> n'est pas un oprateur, mais la notation utilise pour les fonctions flches.
Le rsultat de l'valuation fournie par un oprateur d'galit est toujours un boolen, fonction de la vrit de la comparaison effectue.
==L'oprateur d'galit.
!=L'oprateur d'ingalit.
===L'oprateur d'galit stricte.
!==L'oprateur d'ingalit stricte.
Ces oprations permettent de dcaler les bits de la reprsentation binaire de l'oprande.
<<L'oprateur de dcalage binaire gauche.
>>L'oprateur de dcalage binaire droite.
>>>L'oprateur de dcalage binaire droite non sign.
Les oprateurs binaires traitent leurs oprandes comme un ensemble de 32 bits (zros et uns) et retournent des valeurs numriques standard en JavaScript.
Les oprateurs logiques manipulent des valeurs boolennes (logiques) et ont un comportement de court-circuit.
(condition ? ifTrue : ifFalse)L'oprateur conditionnel retourne une valeur parmi deux selon la valeur logique de la condition porte par le premier oprande.
Un oprateur d'affectation permet d'affecter une valeur son oprande gauche en fonction de la valeur de son oprande droit.
=L'oprateur d'affectation.
*=L'oprateur de multiplication et d'affectation.
/=L'oprateur de division et d'affectation.
%=L'oprateur de reste et d'affectation.
+=L'oprateur d'addition et d'affectation.
-=L'oprateur de soustraction et d'affectation.
<<=L'oprateur de dcalage binaire gauche et d'affectation.
>>=L'oprateur de dcalage binaire droite et d'affectation.
>>>=L'oprateur de dcalage binaire droite non sign et d'affectation.
&=L'oprateur ET/AND binaire et d'affectation.
^=L'oprateur OU exclusif/XOR binaire et d'affectation.
|=L'oprateur OU/OR binaire et d'affectation.
**=L'oprateur d'exponentiation et d'affectation.
&&=L'oprateur ET/AND logique et d'affectation.
||=L'oprateur OU/OR logique et d'affectation.
??=L'oprateur de coalescence des nuls et d'affectation.
[a, b] = arr, { a, b } = objL'affectation par dstructuration permet d'assigner les proprits d'un tableau ou d'un objet des variables en utilisant une syntaxe qui ressemble celle des littraux de tableau ou d'objet.
yieldMet en pause et reprend une fonction gnratrice.
yield*Dlgue une autre fonction gnratrice ou un objet itrable.
...objLa syntaxe de propagation permet un itrable, tel qu'un tableau ou une chane de caractres, d'tre dvelopp dans des endroits o zro ou plusieurs arguments (pour les appels de fonction) ou lments (pour les littraux de tableau) sont attendus. Dans un littral d'objet, la syntaxe de propagation numre les proprits d'un objet et ajoute les paires cl-valeur l'objet en cours de cration.
,L'oprateur virgule permet d'valuer plusieurs expressions dans une seule instruction et retourne le rsultat de la dernire expression.
Comme l'explique la section Que sont les instructions, les dclarations et les expressions ?, une expression est un lment fondamental qui s'value en une valeur. Les instructions, les dclarations et les expressions peuvent toutes dfinir des emplacements prcis o les expressions sont acceptes. Lorsqu'une expression contient des emplacements pour d'autres expressions imbriques, les parties qui ne sont pas des emplacements sont appeles des oprateurs.
Par exemple, la syntaxe d'une expression appele addition est expression + expression (si vous consultez la spcification, les oprandes sont appels expression additive et expression multiplicative, qui sont tous deux des sous-ensembles d'expression, mais il s'agit du mcanisme de la spcification pour dfinir la priorit et l'associativit, ce qui ne concerne pas notre propos). En dehors des deux emplacements d'expression, l'entit de code introduite est simplement + : le terme oprateur d'addition. De mme, la syntaxe de l'expression de production est yield expression, donc yield est appel l'oprateur. Autrement dit, chaque oprateur correspond une expression.
MDN considre galement les expressions sans emplacements, comme null, comme des oprateurs selon la dfinition ci-dessus, bien que nous les appelions presque toujours syntaxe ou expression .
Une expression n'a pas besoin de prendre un nombre fixe d'emplacements. Par exemple, l'expression littrale de tableau [expression, expression, expression] peut prendre un nombre arbitraire d'emplacements d'expression. La partie [,,] peut tre appele un oprateur . Le MDN vite cet usage, mais vous pouvez le rencontrer dans des langages de programmation fonctionnelle comme Haskell (angl.).
La dfinition des oprateurs devient moins prcise avec certaines autres entits de code : que se passe-t-il si une expression possde un emplacement qui n'est pas une expression, ou si une entit de code combine une expression ne forme pas une expression ? Appelons-nous tout de mme cette entit de code un oprateur ?
toto?.truc, toto est une expression, mais truc doit tre un identifiant et ne s'value pas en une valeur. Considrons-nous toujours ?. comme un oprateur ?arg => body, body peut tre une expression (bien qu'il puisse galement s'agir d'un corps de bloc), et arg est simplement une liste d'arguments. Considrons-nous toujours => comme un oprateur ?...toto, toto est une expression, mais l'ensemble n'est pas une expression, car il ne s'value pas en une valeur il n'a de sens que dans certaines autres expressions comme les appels de fonction, les littraux de tableau et les littraux d'objet. Considrons-nous toujours ... comme un oprateur ?Le terme oprateur n'est pas dfini avec prcision en JavaScript, donc MDN ne donne pas de rponse dfinitive. Nous regroupons toutes ces constructions sous Oprateurs , mais nous vitons de les dsigner officiellement comme des oprateurs. De nombreux concepts utiles concernant les oprateurs, comme la priorit, s'appliquent tout de mme ces constructions, quelle que soit leur nature exacte.
Cette page a t modifie le 5 sept. 2026 par les contributeurices du MDN.
Certaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |