aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/javascript/reference/operators/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/fr/web/javascript/reference/operators/index.html')
-rw-r--r--files/fr/web/javascript/reference/operators/index.html303
1 files changed, 303 insertions, 0 deletions
diff --git a/files/fr/web/javascript/reference/operators/index.html b/files/fr/web/javascript/reference/operators/index.html
new file mode 100644
index 0000000000..189d1f8c6a
--- /dev/null
+++ b/files/fr/web/javascript/reference/operators/index.html
@@ -0,0 +1,303 @@
+---
+title: Opérateurs
+slug: Web/JavaScript/Reference/Operators
+tags:
+ - JavaScript
+ - Opérateurs
+ - Reference
+translation_of: Web/JavaScript/Reference/Operators
+original_slug: Web/JavaScript/Reference/Opérateurs
+---
+<div>{{jsSidebar("Operators")}}</div>
+
+<p>Ce chapitre documente l'ensemble des opérateurs, expressions et mots-clés utilisés en JavaScript.</p>
+
+<h2 id="Expressions_et_opérateurs_par_catégorie">Expressions et opérateurs, par catégorie</h2>
+
+<p>Pour une liste alphabétique, voir le volet de navigation situé à gauche sur cette page.</p>
+
+<h3 id="Expressions_primaires">Expressions primaires</h3>
+
+<p>Les mots-clés basiques et les expressions générales en JavaScript.</p>
+
+<dl>
+ <dt>{{jsxref("Opérateurs/L_opérateur_this", "this")}}</dt>
+ <dd>Le mot-clé <code>this</code> fait référence à une propriété spéciale du contexte d'exécution de la fonction.</dd>
+ <dt>{{jsxref("Opérateurs/L_opérateur_function", "function")}}</dt>
+ <dd>Le mot-clé <code>function</code> définit une expression de fonction.</dd>
+ <dt>{{jsxref("Opérateurs/class", "class")}}</dt>
+ <dd>Le mot-clé <code>class</code> définit une expression de classe.</dd>
+ <dt> {{jsxref("Opérateurs/function*", "function*")}}</dt>
+ <dd>Le mot-clé <code>function*</code> définit une expression pour une fonction génératrice.</dd>
+ <dt>{{jsxref("Opérateurs/yield", "yield")}}</dt>
+ <dd>Cet opérateur permet de suspendre et de reprendre l'exécution d'une fonction génératrice.</dd>
+ <dt>{{jsxref("Opérateurs/yield*", "yield*")}}</dt>
+ <dd>Cet opérateur permet de déléguer l'exécution de la fonction à une autre fonction ou un autre objet itérable.</dd>
+ <dt>{{experimental_inline}} {{jsxref("Opérateurs/async_function", "async function*")}}</dt>
+ <dd>L'opérateur <code>async function</code> définit une expression de fonction asynchrone.</dd>
+ <dt>{{experimental_inline}} {{jsxref("Opérateurs/await", "await")}}</dt>
+ <dd>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.</dd>
+ <dt>{{jsxref("Objets_globaux/Array", "[]")}}</dt>
+ <dd>Littéral initialisateur de tableau.</dd>
+ <dt>{{jsxref("Opérateurs/Initialisateur_objet", "{}")}}</dt>
+ <dd>Littéral initialisateur d'objet.</dd>
+ <dt>{{jsxref("Objets_globaux/RegExp", "/ab+c/i")}}</dt>
+ <dd>Littéral d'expression rationnelle.</dd>
+ <dt>{{jsxref("Opérateurs/Groupement", "( )")}}</dt>
+ <dd>Opérateur de groupement.</dd>
+</dl>
+
+<h3 id="Expressions_«_vers_la_gauche_»">Expressions « vers la gauche »</h3>
+
+<p>On affectera des valeurs aux variables à gauche de l'expression.</p>
+
+<dl>
+ <dt>{{jsxref("Opérateurs/Opérateurs_de_membres", "Opérateurs de membres", "", 1)}}</dt>
+ <dd>Les opérateurs de membres permettent d'accéder à une propriété ou une méthode d'un objet (<code>objet.propriété</code> et <code>object["propriété"]</code>).</dd>
+ <dt>{{jsxref("Opérateurs/L_opérateur_new", "new")}}</dt>
+ <dd>L'opérateur <code>new</code> permet de créer une instance d'un constructeur.</dd>
+ <dt><a href="/fr/docs/Web/JavaScript/Reference/Opérateurs/new.target">new.target</a></dt>
+ <dd>Dans les constructeurs, <code>new.target</code> fait référence au constructeur invoqué par {{jsxref("Opérateurs/new", "new")}}.</dd>
+ <dt>{{jsxref("Opérateurs/super", "super")}}</dt>
+ <dd>Le mot-clé <code>super</code> permet d'appeler le constructeur parent.</dd>
+ <dt>{{jsxref("Opérateurs/Syntaxe_décomposition", "...obj")}}</dt>
+ <dd>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).</dd>
+</dl>
+
+<h3 id="Incrémentation_et_décrémentation">Incrémentation et décrémentation</h3>
+
+<p>Les opérateurs d'incrémentation et de décrémentation, suffixe et préfixe :</p>
+
+<dl>
+ <dt>{{jsxref("Opérateurs/Opérateurs_arithmétiques", "A++", "#Incr.C3.A9ment_(.2B.2B)")}}</dt>
+ <dd>Opérateur d'incrémentation suffixe.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_arithmétiques", "A--", "#D.C3.A9cr.C3.A9ment_(--)")}}</dt>
+ <dd>Opérateur de décrémentation suffixe.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_arithmétiques", "++A", "#Incr.C3.A9ment_(.2B.2B)")}}</dt>
+ <dd>Opérateur d'incrémentation préfixe.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_arithmétiques", "--A", "#D.C3.A9cr.C3.A9ment_(--)")}}</dt>
+ <dd>Opérateur de décrémentation préfixe.</dd>
+</dl>
+
+<h3 id="Opérateurs_unaires">Opérateurs unaires</h3>
+
+<p>Une opération unaire est une opération qui ne possède qu'un opérande.</p>
+
+<dl>
+ <dt>{{jsxref("Opérateurs/L_opérateur_delete", "delete")}}</dt>
+ <dd>L'opérateur <code>delete</code> permet de supprimer une propriété d'un objet.</dd>
+ <dt>{{jsxref("Opérateurs/L_opérateur_void", "void")}}</dt>
+ <dd>L'opérateur <code>void</code> écarte la valeur de retour d'une expression.</dd>
+ <dt>{{jsxref("Opérateurs/L_opérateur_typeof", "typeof")}}</dt>
+ <dd>L'opérateur <code>typeof</code> permet de déterminer le type d'un objet donné.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_arithmétiques", "+", "#Plus_unaire_(.2B)")}}</dt>
+ <dd>Le plus unaire permet de convertir son opérande en une valeur du type <code>Number</code>.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_arithmétiques", "-", "#N.C3.A9gation_unaire_(-)")}}</dt>
+ <dd>La négation unaire permet de convertir son opérande en une valeur du type <code>Number</code> puis d'en prendre l'opposé.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_binaires", "~", "#.7E_.28NON_binaire.29")}}</dt>
+ <dd>L'opérateur binaire NON (<em>NOT</em>).</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_logiques", "!", "#NON_logique_.28.21.29")}}</dt>
+ <dd>L'opérateur du NON logique.</dd>
+</dl>
+
+<h3 id="Opérateurs_arithmétiques">Opérateurs arithmétiques</h3>
+
+<p>Les opérateurs arithmétiques utilisent des opérandes numériques et renvoie une valeur numérique.</p>
+
+<dl>
+ <dt>{{jsxref("Opérateurs/Opérateurs_arithmétiques", "+", "#Addition_(.2B)")}}</dt>
+ <dd>L'opérateur d'addition.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_arithmétiques", "-", "#Soustraction_(-)")}}</dt>
+ <dd>L'opérateur de soustraction.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_arithmétiques", "/", "#Division_(.2F)")}}</dt>
+ <dd>L'opérateur de division.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_arithmétiques", "*", "#Multiplication_(*)")}}</dt>
+ <dd>L'opérateur de multiplication.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_arithmétiques", "%", "#Reste_(.25)")}}</dt>
+ <dd>L'opérateur du reste.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_arithmétiques","**","#Exponentiation")}}</dt>
+ <dd>Opérateur de puissance (exponentiation).</dd>
+</dl>
+
+<h3 id="Opérateurs_relationnels">Opérateurs relationnels</h3>
+
+<p>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.</p>
+
+<dl>
+ <dt>{{jsxref("Opérateurs/L_opérateur_in", "in")}}</dt>
+ <dd>L'opérateur <code>in</code> permet de déterminer si un objet possède une propriété donnée.</dd>
+ <dt>{{jsxref("Opérateurs/instanceof", "instanceof")}}</dt>
+ <dd>L'opérateur <code>instanceof</code> permet de déterminer si un objet est une instance d'un autre objet.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_de_comparaison", "&lt;", "#Op.C3.A9rateur_inf.C3.A9rieur_strict_(&lt;)")}}</dt>
+ <dd>Opérateur inférieur strict.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_de_comparaison", "&gt;", "#Op.C3.A9rateur_sup.C3.A9rieur_strict_(&gt;)")}}</dt>
+ <dd>Opérateur supérieur strict.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_de_comparaison", "&lt;=", "#Op.C3.A9rateur_inf.C3.A9rieur_ou_.C3.A9gal_(&lt;.3D)")}}</dt>
+ <dd>Opérateur inférieur ou égal.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_de_comparaison", "&gt;=", "#Op.C3.A9rateur_sup.C3.A9rieur_ou_.C3.A9gal_(&gt;.3D)")}}</dt>
+ <dd>Opérateur supérieur ou égal.</dd>
+</dl>
+
+<div class="note">
+<p><strong>Note :</strong> <code>=&gt;</code> n'est pas un opérateur. Il s'agit de la notation utilisée pour <a href="/fr/docs/Web/JavaScript/Reference/Fonctions/Fonctions_fl%C3%A9ch%C3%A9es">les fonctions fléchées</a>.</p>
+</div>
+
+<h3 id="Opérateurs_d'égalité">Opérateurs d'égalité</h3>
+
+<p>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.</p>
+
+<dl>
+ <dt>{{jsxref("Opérateurs/Opérateurs_de_comparaison", "==", "#Egalit.C3.A9_(.3D.3D)")}}</dt>
+ <dd>Opérateur d'égalité faible.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_de_comparaison", "!=", "#Inequality_(!.3D)")}}</dt>
+ <dd>Opérateur d'inégalité faible.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_de_comparaison", "===", "#Identity_.2F_strict_equality_(.3D.3D.3D)")}}</dt>
+ <dd>Opérateur d'égalité stricte.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_de_comparaison", "!==", "#Non-identity_.2F_strict_not_equal_(!.3D.3D)")}}</dt>
+ <dd>Opérateur d'inégalité stricte.</dd>
+</dl>
+
+<h3 id="Opérateurs_de_décalage_binaires">Opérateurs de décalage binaires</h3>
+
+<p>Ces opérations permettent de décaler les bits contenus dans l'opérande.</p>
+
+<dl>
+ <dt>{{jsxref("Opérateurs/Opérateurs_binaires", "&lt;&lt;", "#.3C.3C_.28d.C3.A9calage_.C3.A0_gauche.29")}}</dt>
+ <dd>Opérateur binaire de décalage à gauche.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_binaires", "&gt;&gt;", "#.3E.3E_.28d.C3.A9calage_.C3.A0_droite_avec_propagation_du_signe.29")}}</dt>
+ <dd>Opérateur binaire de décalage à droite.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_binaires", "&gt;&gt;&gt;", "#.3E.3E.3E_.28d.C3.A9calage_.C3.A0_droite_avec_insertion_de_z.C3.A9ros.29")}}</dt>
+ <dd>Opérateur binaire de décalage à droite non-signé.</dd>
+</dl>
+
+<h3 id="Opérateurs_binaires_logiques">Opérateurs binaires logiques</h3>
+
+<p>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.</p>
+
+<dl>
+ <dt>{{jsxref("Opérateurs/Opérateurs_binaires", "&amp;", "#&amp;_.28ET_binaire.29")}}</dt>
+ <dd>ET binaire (<em>AND</em>).</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_binaires", "|", "#|_.28OU_binaire.29")}}</dt>
+ <dd>OU binaire (<em>OR</em>).</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_binaires", "^", "#.5E_.28XOR_binaire.29")}}</dt>
+ <dd>OU exclusif binaire (<em>XOR</em>).</dd>
+</dl>
+
+<h3 id="Opérateurs_logiques">Opérateurs logiques</h3>
+
+<p>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.</p>
+
+<dl>
+ <dt>{{jsxref("Opérateurs/Opérateurs_logiques", "&amp;&amp;", "#ET_logique_.28&amp;&amp;.29")}}</dt>
+ <dd>ET logique (<em>AND</em>).</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_logiques", "||", "#OU_logique_.28||.29")}}</dt>
+ <dd>OU logique (<em>OR</em>).</dd>
+</dl>
+
+<h3 id="Opérateur_conditionnel_ternaire">Opérateur conditionnel ternaire</h3>
+
+<dl>
+ <dt>{{jsxref("Opérateurs/L_opérateur_conditionnel", "(condition ? siVrai : siFaux)")}}</dt>
+ <dd>
+ <p>Cet opérateur renvoie une des deux valeurs fournie en fonction de la valeur logique de la condition.</p>
+ </dd>
+</dl>
+
+<h3 id="Opérateurs_d'affectation">Opérateurs d'affectation</h3>
+
+<p>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.</p>
+
+<dl>
+ <dt>{{jsxref("Opérateurs/Opérateurs_d_affectation", "=", "#Assignment")}}</dt>
+ <dd>Opérateur d'affectation.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_d_affectation", "*=", "#Multiplication_assignment")}}</dt>
+ <dd>Affectation après multiplication.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_d_affectation", "/=", "#Division_assignment")}}</dt>
+ <dd>Affectation après division.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_d_affectation", "%=", "#Remainder_assignment")}}</dt>
+ <dd>Affectation du reste.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_d_affectation", "+=", "#Addition_assignment")}}</dt>
+ <dd>Affectation après addition.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_d_affectation", "-=", "#Subtraction_assignment")}}</dt>
+ <dd>Affectation après soustraction.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_d_affectation", "&lt;&lt;=", "#Left_shift_assignment")}}</dt>
+ <dd>Affectation après décalage à gauche.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_d_affectation", "&gt;&gt;=", "#Right_shift_assignment")}}</dt>
+ <dd>Affectation après décalage à droite.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_d_affectation", "&gt;&gt;&gt;=", "#Unsigned_right_shift_assignment")}}</dt>
+ <dd>Affectation après décalage à droite non-signé.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_d_affectation", "&amp;=", "#Bitwise_AND_assignment")}}</dt>
+ <dd>Affectation après ET binaire.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_d_affectation", "^=", "#Bitwise_AND_assignment")}}</dt>
+ <dd>Affectation après OU exclusif binaire.</dd>
+ <dt>{{jsxref("Opérateurs/Opérateurs_d_affectation", "|=","#Bitwise_OR_assignment")}}</dt>
+ <dd>Affectation après OU binaire.</dd>
+ <dt>{{jsxref("Opérateurs/Affecter_par_décomposition", "[a, b] = [1, 2]")}} {{jsxref("Opérateurs/Affecter_par_décomposition", "{a, b} = {a:1, b:2}")}}</dt>
+ <dd>
+ <p>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.</p>
+ </dd>
+</dl>
+
+<h3 id="Opérateur_virgule">Opérateur virgule</h3>
+
+<dl>
+ <dt>{{jsxref("Opérateurs/L_opérateur_virgule", ",")}}</dt>
+ <dd>L'opérateur virgule permet d'évaluer plusieurs expressions en une seule instruction et de renvoyer le résultat de la dernière expression.</dd>
+</dl>
+
+<h3 id="Fonctionnalités_non-standardsnon-standard_inline">Fonctionnalités non-standards{{non-standard_inline}}</h3>
+
+<dl>
+ <dt>{{non-standard_inline}}{{jsxref("Opérateurs/Expression_fermetures", "Expression de fermetures", "", 1)}}</dt>
+ <dd>La syntaxe d'expression de fermeture est un raccourci pour écrire des fonctions simples.</dd>
+ <dt>{{non-standard_inline}}{{jsxref("Opérateurs/Expression_fonction_génératrice_historique", "", 1)}}</dt>
+ <dd>Le mot-clé <code>function</code> peut être utilisé afin de définir une fonction génératrice historique. au sein d'une expression.</dd>
+ <dt>{{non-standard_inline}} {{jsxref("Opérateurs/Compréhensions_de_tableau", "[for (x of y) x]")}}</dt>
+ <dd>Compréhensions de tableau.</dd>
+ <dt>{{non-standard_inline}}{{jsxref("Opérateurs/Compréhensions_de_générateur", "(for (x of y) y)")}}</dt>
+ <dd>Compréhensions de générateurs.</dd>
+</dl>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES1','#sec-11','Expressions')}}</td>
+ <td>{{Spec2('ES1')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-11', 'Expressions')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-ecmascript-language-expressions', 'ECMAScript Language: Expressions')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Nouveaux éléments : opérateur de décomposition, affectation par décomposition, mot-clé <code>super</code> .</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-ecmascript-language-expressions', 'ECMAScript Language: Expressions')}}</td>
+ <td>{{Spec2('ESDraft')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
+
+<p>{{Compat("javascript.operators")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li><a href="/fr/docs/JavaScript/Reference/Operators/Pr%C3%A9c%C3%A9dence_des_op%C3%A9rateurs">La précédence des opérateurs</a> en JavaScript</li>
+</ul>