Priorité des opérateurs JavaScript

Operator precedence (Operator Precedence) describes the order of execution of operations in arithmetic expressions.

The precedence of operators (*) and (/) is higher than that of addition (+) and subtraction (-).

Example

As with traditional mathematics, multiplication is performed first:

let x = 100 + 50 * 3;

Try it yourself

When using parentheses, calculate the operations inside the parentheses first:

let x = (100 + 50) * 3;

Try it yourself

Operations with the same precedence (such as * and /) are calculated from left to right:

let x = 100 / 50 * 3;

Try it yourself

Operator precedence values

Expressions in parentheses are calculated before the rest of the expression, and functions are executed before the results are used in the rest of the expression:

Precedence Operator Description Example
18 ( ) Expression grouping (100 + 50) * 3
myFunction() . [] .
myFunction() person.name [] appartenance au membre
myFunction() person["name"] ?. ES2020 chaîne optionnelle
myFunction() x ?. y () appelle de la fonction
myFunction() 16 17 création avec paramètres
new Date("June 5,2022") 16 new création sans paramètres

new Date()

opérateurs d'incrémentation

i++ ++ l'incrémentation suffixée est exécutée avant l'incrémentation préfixée. incrémentation suffixée
i++ -- 13 i--
14 ++ incrémentation préfixée ++i
14 -- décrémentation préfixée --i

opérateur NOT

14 ! non logique !(x==y)
14 ~ non bit à bit ~x

opérateurs unilatéraux

14 + addition unilatérale +x
14 - soustraction unilatérale -x
14 typeof type de données typeof x
14 void évaluation vide void(0)
14 delete suppression de propriété delete myCar.color

opérateurs arithmétiques

les opérations exponentielles sont exécutées avant les opérations de multiplication.

les opérations arithmétiques de multiplication et de division sont exécutées avant les opérations d'addition et de soustraction.

13 ** opérations exponentielles ES2016 10 ** 2
12 * multiplication 10 * 5
12 / division 10 / 5
12 % reste de la division 10 % 5
11 + ajout 10 + 5
11 - soustraction 10 - 5
11 + concaténation "Bill" + "Gates"

opérateurs de déplacement

10 << déplacement à gauche x << 2
10 >> déplacement à droite (avec signe) x >> 2
10 >>> déplacement à droite (sans signe) x >>> 2

opérateurs de relation

9 in propriété de l'objet "PI" in Math
9 instanceof instance de l'objet x instanceof Array

opérateurs de comparaison

9 < inférieur x < y
9 <= inférieur ou égal x <= y
9 > supérieur x > y
9 >= supérieur ou égal x >= Array
8 == égal x == y
8 === strictement égal x === y
8 != différent x != y
8 !== strictement différent x !== y

opérateurs de bit

7 & et bit à bit x & y
6 ^ ou bit à bit exclusif x ^ y
5 | ou bit à bit x | y

opérateurs logiques

4 && logique et x && y
3 || logique ou x || y
3 ?? fusion de valeurs vides ES2020 x ?? y

opérateur de condition (ternaire)

2 ? : Condition ? "yes" : "no"

Opérateur d'affectation

L'affectation est exécutée après d'autres opérations.

2 = Affectation simple x = y
2 : Affectation de deux points x: 5
2 += Affectation d'addition x += y
2 -= Affectation de soustraction x -= y
2 *= Affectation de multiplication x *= y
2 **= Affectation exponentielle x **= y
2 /= Affectation de division x /= y
2 %= Affectation de reste x %= y
2 <<= Affectation de déplacement à gauche x <<= y
2 >>= Affectation de déplacement à droite x >>= y
2 >>>= Déplacement à droite sans signe x >>>= y
2 &= Affectation logique ET x &= y
2 |= Affectation logique OU x |= y
2 ^= Affectation logique XOR x ^= y
2 &&= Affectation logique et x &= y
2 ||= Affectation logique ou x ||= y
2 => Flèche x => y
2 yield Pause / Résumé yield x
2 yield* Opérateur de délégation yield* Opérateur de délégation yield* x
2 ... Opérateur de déploiement ... x
1 , Virgule x, y

Veuillez également consulter

Tutoriel :Opérateurs JavaScript

Manuel de référence :Opérateurs JavaScript