English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La priorité des opérateurs détermine la manière dont ils s'interprètent les uns les autres.
L'opérateur ayant une priorité plus élevée deviendra l'opérande de l'opérateur ayant une priorité plus faible.
Dans l'exemple suivant, la priorité de la multiplication est supérieure à celle de l'addition, ce qui détermine le résultat de l'opération.
// Tout d'abord, ajouter3Multiplier5, puis ajouter10 var x = 10 + 3 * 5;Testons pour voir‹/›
En revanche, si nous voulons exécuter d'abord l'addition, nous devons la regrouper dans des parenthèses, qui ont toujours la priorité la plus élevée.
// Tout d'abord, ajouter10Et3Ajouter, puis multiplier5 var x = (10 + 3) * 5;Testons pour voir‹/›
Lorsque vous utilisez des parenthèses, il faut d'abord calculer l'opération à l'intérieur des parenthèses.
Lorsque de nombreux opérateurs ont le même niveau de priorité (par exemple, l'addition et la soustraction), ils sont calculés de gauche à droite :
var x = 10 + 3 - 5;Testons pour voir‹/›
L'évaluation de l'expression est également influencée par la propriété d'associativité.
L'associativité indique la direction de l'évaluation de l'expression (de droite à gauche ou de gauche à droite).
Si deux ou plusieurs opérateurs d'un même niveau de priorité apparaissent dans une expression, lequel sera calculé en premier? La propriété d'associativité répond à cette question.
Veuillez consulter le tableau suivant pour résoudre tout problème de correspondance ou de priorité lié à JavaScript
Opérateur | Description d'utilisation | Association des opérateurs | Priorité des opérateurs |
---|---|---|---|
() | Méthode/Appel de fonction, groupage | De gauche à droite | Le plus haut- 1 |
[] | Accès aux tableaux | De gauche à droite | 1 |
. | Accès aux propriétés de l'objet | De gauche à droite | 1 |
++ | Incrémentation | De droite à gauche | 2 |
-- | Décrémentation | De droite à gauche | 2 |
- | Soustraction | De droite à gauche | 2 |
! | Non logique | De droite à gauche | 2 |
~ | Non binaire | De droite à gauche | 2 |
delete | Supprimer une valeur d'array ou une propriété d'objet | De droite à gauche | 2 |
new | Créer un objet | De droite à gauche | 2 |
typeof | Type de données de retour | De droite à gauche | 2 |
void | Ne spécifiez pas la valeur à renvoyer | De droite à gauche | 2 |
/ | Division | De gauche à droite | 3 |
* | Multiplication | De gauche à droite | 3 |
% | Reste | De gauche à droite | 3 |
+ | Addition | De gauche à droite | 4 |
+ | Concaténation de chaînes | De gauche à droite | 4 |
- | Soustraction | De gauche à droite | 4 |
>> | Déplacement à droite binaire | De gauche à droite | 5 |
<< | Déplacement à gauche binaire | De gauche à droite | 5 |
> | Plus, plus ou égal | De gauche à droite | 6 |
<, <= | Moins, moins ou égal | De gauche à droite | 6 |
== | Égalité | De gauche à droite | 7 |
!= | Inégalité | De gauche à droite | 7 |
=== | Concordance/Égalité stricte (types de données identiques) | De gauche à droite | 7 |
!== | Incohérence/Inégalité stricte (types de données différents) | De gauche à droite | 7 |
& | ET binaire | De gauche à droite | 8 |
^ | XOR binaire | De gauche à droite | 9 |
| | OU binaire | De gauche à droite | 10 |
&& | ET logique | De gauche à droite | 11 |
|| | OU logique | De gauche à droite | 12 |
?: | Branche conditionnelle | De gauche à droite | 13 |
= | Affectation | De droite à gauche | 14 |
*=, /=, %=, +=,, -=, <<=, >>=, >>>=, &=, ^=, |= | Affectation en fonction de l'opérateur précédent | De droite à gauche | 14 |
, | Évaluation multiple | De gauche à droite | Le plus bas :15 |