JavaScript-Operator-Priorität

Die Operator-Priorität (Operator Precedence) beschreibt die Reihenfolge der Ausführung von Operationen in arithmetischen Ausdrücken.

Die Priorität von Multiplikation (*) und Division (/) ist höher als die von Addition (+) und Subtraktion (-).

Beispiel

Wie in der traditionellen Mathematik wird zuerst die Multiplikation durchgeführt:

let x = 100 + 50 * 3;

Versuchen Sie es selbst

Bei der Verwendung von runden Klammern wird zuerst der Ausdruck innerhalb der runden Klammern berechnet:

let x = (100 + 50) * 3;

Versuchen Sie es selbst

Operationen mit gleicher Priorität (wie * und /) werden von links nach rechts berechnet:

let x = 100 / 50 * 3;

Versuchen Sie es selbst

Wert der Operator-Priorität

Ausdrücke in Klammern werden vor dem Rest des Ausdrucks berechnet, und Funktionen werden vor der Anwendung auf den Rest des Ausdrucks ausgeführt:

Priorität Operator Beschreibung Beispiel
18 ( ) Ausdrucksgruppierung (100 + 50) * 3
17 . Mitglied zugehörig person.name
17 [] Mitglied zugehörig person["name"]
17 ?. Optionale Kette ES2020 x ?. y
17 () Funktion aufrufen myFunction()
17 new Mit Parameter neu erstellen new Date("June 5,2022")
16 new Ohne Parameter neu erstellen new Date()

Inkrementoperatoren

Nachinkrement wird vor Präfixinkrement ausgeführt.

15 ++ Nachinkrement i++
15 -- Nachdekrement i--
14 ++ Präfixinkrement ++i
14 -- Präfixdekrement --i

NOT-Operator

14 ! Logische Negation !(x==y)
14 ~ Bitweise Negation ~x

Unäre Operatoren

14 + Unärplus +x
14 - Unärminus -x
14 typeof Datentyp typeof x
14 void Leere Bewertung void(0)
14 delete Eigenschaft löschen delete myCar.color

Arithmetische Operatoren

Exponentiation wird vor Multiplikation ausgeführt.

Multiplikation und Division werden vor Addition und Subtraktion ausgeführt.

13 ** Exponentiation ES2016 10 ** 2
12 * Multiplikation 10 * 5
12 / Division 10 / 5
12 % Rest der Division 10 % 5
11 + Addition 10 + 5
11 - Verminderung 10 - 5
11 + Verkettung "Bill" + "Gates"

Verschiebeoperatoren

10 << Linksverschieben x << 2
10 >> Rechtsverschieben (signiert) x >> 2
10 >>> Rechtsverschieben (unsigniert) x >>> 2

Beziehungsoperatoren

9 in Eigenschaft im Objekt "PI" in Math
9 instanceof Objekt-Instanz x instanceof Array

Verleichsoperatoren

9 < Kleiner x < y
9 <= Kleiner oder gleich x <= y
9 > Größer x > y
9 >= Größer oder gleich x >= Array
8 == Gleich x == y
8 === Streng gleich x === y
8 != Ungleich x != y
8 !== Streng ungleich x !== y

Bitweise Operatoren

7 & Bitweise Und x & y
6 ^ Bitweise Exklusives Oder x ^ y
5 | Bitweise Oder x | y

Logische Operatoren

4 && Logisches Und x && y
3 || Logisches Oder x || y
3 ?? Leere-Wert-Kombinierung ES2020 x ?? y

Bedingungsoperator (dreiwertig)

2 ? : Bedingung ? "yes" : "no"

Zuweisungsoperator

Zuweisungen werden nach anderen Operationen ausgeführt.

2 = Einfache Zuweisung x = y
2 : Doppelpunkt-Zuweisung x: 5
2 += Addition-Zuweisung x += y
2 -= Subtraktion-Zuweisung x -= y
2 *= Multiplikation-Zuweisung x *= y
2 **= Exponent-Zuweisung x **= y
2 /= Division-Zuweisung x /= y
2 %= Rest-Zuweisung x %= y
2 <<= Linksverschiebung-Zuweisung x <<= y
2 >>= Rechtsverschiebung-Zuweisung x >>= y
2 >>>= Ungezeichnete Rechtsverschiebung x >>>= y
2 &= Bitweise UND-Zuweisung x &= y
2 |= Bitweise ODER-Zuweisung x |= y
2 ^= Bitweise EXklusiv-ODER-Zuweisung x ^= y
2 &&= Logisches UND-Zuweisung x &= y
2 ||= Logisches ODER-Zuweisung x ||= y
2 => Pfeil x => y
2 yield Pausieren / Wiederaufnehmen yield x
2 yield* Delegationsoperator yield* x
2 ... Erweiterungsoperator ... x
1 , Komma x, y

Weitere Informationen siehe

Tutorial:JavaScript-Operator

Referenzhandbuch:JavaScript-Operator