From 9f030ef5fd3a0dc15d94c01d0e1bbd1aba1eed54 Mon Sep 17 00:00:00 2001 From: SphinxKnight Date: Sun, 27 Jun 2021 15:03:56 +0200 Subject: Fix #756 by updating the JS operators in fr (#1306) * Update Operators landing + revamp L10N for 4 operators * Added NOT / ! - * +multiplication * Addition, exponentiation and comparison * Operateurs de comparaison * Binary ops * Missing newline, thx GH UI * Logical AND / OR * Assignment ops * Conflicting clean-up * Missing EOF newline * Fix history and redirects * FIX: fix flaws * FIX: minox typo fix * FIX: link flaws * FIX: fix tags detection Co-authored-by: tristantheb --- .../web/javascript/reference/operators/index.html | 393 ++++++++++----------- 1 file changed, 189 insertions(+), 204 deletions(-) (limited to 'files/fr/web/javascript/reference/operators/index.html') diff --git a/files/fr/web/javascript/reference/operators/index.html b/files/fr/web/javascript/reference/operators/index.html index ba82e8321e..83d4f9aa69 100644 --- a/files/fr/web/javascript/reference/operators/index.html +++ b/files/fr/web/javascript/reference/operators/index.html @@ -1,301 +1,286 @@ --- -title: Opérateurs +title: Expressions et opérateurs slug: Web/JavaScript/Reference/Operators tags: - JavaScript - - Opérateurs + - 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 utilisés en JavaScript.

+

Ce chapitre documente l'ensemble des opérateurs, expressions et mots-clés pour le langage JavaScript.

-

Expressions et opérateurs, par catégorie

+

Expressions et opérateurs par catégorie

-

Pour une liste alphabétique, voir le volet de navigation situé à gauche sur cette page.

+

Pour une liste triée par ordre alphabétique, voir sur la barre de navigation à gauche.

-

Expressions primaires

+

Expressions primaires

-

Les mots-clés basiques et les expressions générales en JavaScript.

+

Mots-clés de base et expressions générales en JavaScript.

-
{{jsxref("Opérateurs/L_opérateur_this", "this")}}
-
Le mot-clé this fait référence à une propriété spéciale du contexte d'exécution de la fonction.
-
{{jsxref("Opérateurs/L_opérateur_function", "function")}}
+
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.
-
{{jsxref("Opérateurs/class", "class")}}
+
class
Le mot-clé class définit une expression de classe.
-
 {{jsxref("Opérateurs/function*", "function*")}}
-
Le mot-clé function* définit une expression pour une fonction génératrice.
-
{{jsxref("Opérateurs/yield", "yield")}}
-
Cet opérateur permet de suspendre et de reprendre l'exécution d'une fonction génératrice.
-
{{jsxref("Opérateurs/yield*", "yield*")}}
-
Cet opérateur permet de déléguer l'exécution de la fonction à une autre fonction ou un autre objet itérable.
-
{{experimental_inline}} {{jsxref("Opérateurs/async_function", "async function*")}}
-
L'opérateur async function définit une expression de fonction asynchrone.
-
{{experimental_inline}} {{jsxref("Opérateurs/await", "await")}}
-
Cet opérateur permet de stopper et de reprendre l'exécution d'une fonction asynchrone et d'attendre pour la résolution ou le rejet d'une promesse.
-
{{jsxref("Objets_globaux/Array", "[]")}}
-
Littéral initialisateur de tableau.
-
{{jsxref("Opérateurs/Initialisateur_objet", "{}")}}
-
Littéral initialisateur d'objet.
-
{{jsxref("Objets_globaux/RegExp", "/ab+c/i")}}
-
Littéral d'expression rationnelle.
-
{{jsxref("Opérateurs/Groupement", "( )")}}
+
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.
-

Expressions « vers la gauche »

+

Expression « vers la gauche »

-

On affectera des valeurs aux variables à gauche de l'expression.

+

Les valeurs situées à gauche sont la cible de l'affectation.

-
{{jsxref("Opérateurs/Opérateurs_de_membres", "Opérateurs de membres", "", 1)}}
-
Les opérateurs de membres permettent d'accéder à une propriété ou une méthode d'un objet (objet.propriété et object["propriété"]).
-
{{jsxref("Opérateurs/L_opérateur_new", "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é par {{jsxref("Opérateurs/new", "new")}}.
-
{{jsxref("Opérateurs/super", "super")}}
-
Le mot-clé super permet d'appeler le constructeur parent.
-
{{jsxref("Opérateurs/Syntaxe_décomposition", "...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).
+
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 et objet["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é avec new.
+
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

+

Incrémentation et décrémentation

-

Les opérateurs d'incrémentation et de décrémentation, suffixe et préfixe :

+

Des opérateurs préfixes ou suffixes pour incrémenter/décrémenter.

-
{{jsxref("Opérateurs/Opérateurs_arithmétiques", "A++", "#Incr.C3.A9ment_(.2B.2B)")}}
-
Opérateur d'incrémentation suffixe.
-
{{jsxref("Opérateurs/Opérateurs_arithmétiques", "A--", "#D.C3.A9cr.C3.A9ment_(--)")}}
-
Opérateur de décrémentation suffixe.
-
{{jsxref("Opérateurs/Opérateurs_arithmétiques", "++A", "#Incr.C3.A9ment_(.2B.2B)")}}
-
Opérateur d'incrémentation préfixe.
-
{{jsxref("Opérateurs/Opérateurs_arithmétiques", "--A", "#D.C3.A9cr.C3.A9ment_(--)")}}
-
Opérateur de décrémentation préfixe.
+
A++
+
L'opérateur d'incrémentation suffixe.
+
A--
+
L'opérateur de décrémentation suffixe.
+
++A
+
L'opérateur d'incrémentation préfixe.
+
--A
+
L'opérateur de décrémentation préfixe.
-

Opérateurs unaires

+

Opérateurs unaires

-

Une opération unaire est une opération qui ne possède qu'un opérande.

+

Une opération unaire est une opération qui ne manipule qu'un seul opérande.

-
{{jsxref("Opérateurs/L_opérateur_delete", "delete")}}
+
delete
L'opérateur delete permet de supprimer une propriété d'un objet.
-
{{jsxref("Opérateurs/L_opérateur_void", "void")}}
-
L'opérateur void écarte la valeur de retour d'une expression.
-
{{jsxref("Opérateurs/L_opérateur_typeof", "typeof")}}
-
L'opérateur typeof permet de déterminer le type d'un objet donné.
-
{{jsxref("Opérateurs/Opérateurs_arithmétiques", "+", "#Plus_unaire_(.2B)")}}
-
Le plus unaire permet de convertir son opérande en une valeur du type Number.
-
{{jsxref("Opérateurs/Opérateurs_arithmétiques", "-", "#N.C3.A9gation_unaire_(-)")}}
-
La négation unaire permet de convertir son opérande en une valeur du type Number puis d'en prendre l'opposé.
-
{{jsxref("Opérateurs/Opérateurs_binaires", "~", "#.7E_.28NON_binaire.29")}}
-
L'opérateur binaire NON (NOT).
-
{{jsxref("Opérateurs/Opérateurs_logiques", "!", "#NON_logique_.28.21.29")}}
-
L'opérateur du NON logique.
+
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 type number.
+
-
+
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

+

Opérateurs arithmétiques

-

Les opérateurs arithmétiques utilisent des opérandes numériques et renvoie une valeur numérique.

+

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.

-
{{jsxref("Opérateurs/Opérateurs_arithmétiques", "+", "#Addition_(.2B)")}}
+
+
L'opérateur d'addition.
-
{{jsxref("Opérateurs/Opérateurs_arithmétiques", "-", "#Soustraction_(-)")}}
+
-
L'opérateur de soustraction.
-
{{jsxref("Opérateurs/Opérateurs_arithmétiques", "/", "#Division_(.2F)")}}
+
/
L'opérateur de division.
-
{{jsxref("Opérateurs/Opérateurs_arithmétiques", "*", "#Multiplication_(*)")}}
+
*
L'opérateur de multiplication.
-
{{jsxref("Opérateurs/Opérateurs_arithmétiques", "%", "#Reste_(.25)")}}
+
%
L'opérateur du reste.
-
{{jsxref("Opérateurs/Opérateurs_arithmétiques","**","#Exponentiation")}}
-
Opérateur de puissance (exponentiation).
+
**
+
L'opérateur d'exponentiation.
-

Opérateurs relationnels

+

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.

+

Un opérateur de comparaison compare ses opérandes et renvoie une valeur booléenne en fonction de la vérité de cette comparaison.

-
{{jsxref("Opérateurs/L_opérateur_in", "in")}}
-
L'opérateur in permet de déterminer si un objet possède une propriété donnée.
-
{{jsxref("Opérateurs/instanceof", "instanceof")}}
-
L'opérateur instanceof permet de déterminer si un objet est une instance d'un autre objet.
-
{{jsxref("Opérateurs/Opérateurs_de_comparaison", "<", "#Op.C3.A9rateur_inf.C3.A9rieur_strict_(<)")}}
-
Opérateur inférieur strict.
-
{{jsxref("Opérateurs/Opérateurs_de_comparaison", ">", "#Op.C3.A9rateur_sup.C3.A9rieur_strict_(>)")}}
-
Opérateur supérieur strict.
-
{{jsxref("Opérateurs/Opérateurs_de_comparaison", "<=", "#Op.C3.A9rateur_inf.C3.A9rieur_ou_.C3.A9gal_(<.3D)")}}
-
Opérateur inférieur ou égal.
-
{{jsxref("Opérateurs/Opérateurs_de_comparaison", ">=", "#Op.C3.A9rateur_sup.C3.A9rieur_ou_.C3.A9gal_(>.3D)")}}
-
Opérateur supérieur ou égal.
+
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. Il s'agit de la notation utilisée pour les fonctions fléchées.

+
+

Note : => n'est pas un opérateur mais la notation utilisée pour les fonctions fléchées.

-

Opérateurs d'égalité

+

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.

+

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.

-
{{jsxref("Opérateurs/Opérateurs_de_comparaison", "==", "#Egalit.C3.A9_(.3D.3D)")}}
-
Opérateur d'égalité faible.
-
{{jsxref("Opérateurs/Opérateurs_de_comparaison", "!=", "#Inequality_(!.3D)")}}
-
Opérateur d'inégalité faible.
-
{{jsxref("Opérateurs/Opérateurs_de_comparaison", "===", "#Identity_.2F_strict_equality_(.3D.3D.3D)")}}
-
Opérateur d'égalité stricte.
-
{{jsxref("Opérateurs/Opérateurs_de_comparaison", "!==", "#Non-identity_.2F_strict_not_equal_(!.3D.3D)")}}
-
Opérateur d'inégalité stricte.
+
==
+
L'opérateur d'égalité.
+
!=
+
L'opérateur d'inégalité.
+
===
+
L'opérateur d'identité.
+
!==
+
L'opérateur d'inégalité stricte.
-

Opérateurs de décalage binaires

+

Opérateurs de décalage binaires

-

Ces opérations permettent de décaler les bits contenus dans l'opérande.

+

Ces opérations permettent de décaler les bits de la représentation binaire de l'opérande.

-
{{jsxref("Opérateurs/Opérateurs_binaires", "<<", "#.3C.3C_.28d.C3.A9calage_.C3.A0_gauche.29")}}
-
Opérateur binaire de décalage à gauche.
-
{{jsxref("Opérateurs/Opérateurs_binaires", ">>", "#.3E.3E_.28d.C3.A9calage_.C3.A0_droite_avec_propagation_du_signe.29")}}
-
Opérateur binaire de décalage à droite.
-
{{jsxref("Opérateurs/Opérateurs_binaires", ">>>", "#.3E.3E.3E_.28d.C3.A9calage_.C3.A0_droite_avec_insertion_de_z.C3.A9ros.29")}}
-
Opérateur binaire de décalage à droite non-signé.
+
<<
+
Opérateur de décalage binaire à gauche.
+
>>
+
Opérateur de décalage binaire à droite.
+
>>>
+
Opérateur de décalage binaire à droite non signé.
-

Opérateurs binaires logiques

+

Opérateurs binaires booléens

-

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.

+

Ces opérateurs manipulent leurs opérandes comme des ensembles de 32 bits et renvoient des valeurs numériques standard.

-
{{jsxref("Opérateurs/Opérateurs_binaires", "&", "#&_.28ET_binaire.29")}}
-
ET binaire (AND).
-
{{jsxref("Opérateurs/Opérateurs_binaires", "|", "#|_.28OU_binaire.29")}}
-
OU binaire (OR).
-
{{jsxref("Opérateurs/Opérateurs_binaires", "^", "#.5E_.28XOR_binaire.29")}}
-
OU exclusif binaire (XOR).
+
&
+
Opérateur ET/AND binaire.
+
|
+
Opérateur OU/OR binaire.
+
^
+
Opérateur OU exclusif/XOR binaire.
-

Opérateurs logiques

+

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.

+

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.

-
{{jsxref("Opérateurs/Opérateurs_logiques", "&&", "#ET_logique_.28&&.29")}}
-
ET logique (AND).
-
{{jsxref("Opérateurs/Opérateurs_logiques", "||", "#OU_logique_.28||.29")}}
-
OU logique (OR).
+
&&
+
Opérateur logique ET/AND.
+
||
+
Opérateur logique OU/OR.
+
??
+
Opérateur de coalescence des nuls.
-

Opérateur conditionnel ternaire

+

Opérateur conditionnel ternaire

-
{{jsxref("Opérateurs/L_opérateur_conditionnel", "(condition ? siVrai : siFaux)")}}
+
(condition ? ifTrue : ifFalse)
-

Cet opérateur renvoie une des deux valeurs fournie en fonction de la valeur logique de la condition.

+

L'opérateur conditionnel renvoie une valeur parmi deux selon la valeur logique de la condition portée par le premier opérande.

-

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 de chaînage optionnel

-
{{jsxref("Opérateurs/Opérateurs_d_affectation", "=", "#Assignment")}}
-
Opérateur d'affectation.
-
{{jsxref("Opérateurs/Opérateurs_d_affectation", "*=", "#Multiplication_assignment")}}
-
Affectation après multiplication.
-
{{jsxref("Opérateurs/Opérateurs_d_affectation", "/=", "#Division_assignment")}}
-
Affectation après division.
-
{{jsxref("Opérateurs/Opérateurs_d_affectation", "%=", "#Remainder_assignment")}}
-
Affectation du reste.
-
{{jsxref("Opérateurs/Opérateurs_d_affectation", "+=", "#Addition_assignment")}}
-
Affectation après addition.
-
{{jsxref("Opérateurs/Opérateurs_d_affectation", "-=", "#Subtraction_assignment")}}
-
Affectation après soustraction.
-
{{jsxref("Opérateurs/Opérateurs_d_affectation", "<<=", "#Left_shift_assignment")}}
-
Affectation après décalage à gauche.
-
{{jsxref("Opérateurs/Opérateurs_d_affectation", ">>=", "#Right_shift_assignment")}}
-
Affectation après décalage à droite.
-
{{jsxref("Opérateurs/Opérateurs_d_affectation", ">>>=", "#Unsigned_right_shift_assignment")}}
-
Affectation après décalage à droite non-signé.
-
{{jsxref("Opérateurs/Opérateurs_d_affectation", "&=", "#Bitwise_AND_assignment")}}
-
Affectation après ET binaire.
-
{{jsxref("Opérateurs/Opérateurs_d_affectation", "^=", "#Bitwise_AND_assignment")}}
-
Affectation après OU exclusif binaire.
-
{{jsxref("Opérateurs/Opérateurs_d_affectation", "|=","#Bitwise_OR_assignment")}}
-
Affectation après OU binaire.
-
{{jsxref("Opérateurs/Affecter_par_décomposition", "[a, b] = [1, 2]")}} {{jsxref("Opérateurs/Affecter_par_décomposition", "{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.

+

L'opérateur de chaînage optionnel renvoie undefined plutôt que de causer une erreur si une référence vaut null ou undefined.

-

Opérateur virgule

+

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.

-
{{jsxref("Opérateurs/L_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.
+
=
+
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.

+
-

Fonctionnalités non-standards{{non-standard_inline}}

+

Opérateur virgule

-
{{non-standard_inline}}{{jsxref("Opérateurs/Expression_fermetures", "Expression de fermetures", "", 1)}}
-
La syntaxe d'expression de fermeture est un raccourci pour écrire des fonctions simples.
-
{{non-standard_inline}}{{jsxref("Opérateurs/Expression_fonction_génératrice_historique", "", 1)}}
-
Le mot-clé function peut être utilisé afin de définir une fonction génératrice historique. au sein d'une expression.
-
{{non-standard_inline}} {{jsxref("Opérateurs/Compréhensions_de_tableau", "[for (x of y) x]")}}
-
Compréhensions de tableau.
-
{{non-standard_inline}}{{jsxref("Opérateurs/Compréhensions_de_générateur", "(for (x of y) y)")}}
-
Compréhensions de générateurs.
+
,
+
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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('ES1','#sec-11','Expressions')}}{{Spec2('ES1')}}Définition initiale.
{{SpecName('ES5.1', '#sec-11', 'Expressions')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-ecmascript-language-expressions', 'ECMAScript Language: Expressions')}}{{Spec2('ES6')}}Nouveaux éléments : opérateur de décomposition, affectation par décomposition, mot-clé super .
{{SpecName('ESDraft', '#sec-ecmascript-language-expressions', 'ECMAScript Language: Expressions')}}{{Spec2('ESDraft')}} 
- -

Compatibilité des navigateurs

- -

{{Compat("javascript.operators")}}

- -

Voir aussi

+

Spécifications

+ +

{{Specifications}}

+ +

Compatibilité des navigateurs

+ +

{{Compat}}

+ +

Voir aussi

-- cgit v1.2.3-54-g00ecf