Operatorrangfolge
Aktualisiert: November 2007
Die Operatorrangfolge ist ein Satz Regeln in JScript, mit dem gesteuert wird, in welcher Reihenfolge der Compiler beim Auswerten eines Ausdrucks die entsprechenden Operationen durchführt. Operationen mit höherem Vorrang werden vor solchen mit niedrigerem Vorrang durchgeführt. Beispielsweise wird eine Multiplikation vor einer Addition durchgeführt.
Rangfolgentabelle
Die folgende Tabelle zeigt die JScript-Operatoren von der höchsten bis zur niedrigsten Rangfolge.
Rangfolge |
Auswertungsreihenfolge |
Operator |
Beschreibung |
---|---|---|---|
15 |
von links nach rechts |
., [], () |
Feldzugriff, Arrayindizierung, Funktionsaufrufe und Gruppieren von Ausdrücken |
14 |
von rechts nach links |
++, --, -, ~, !, delete, new, typeof, void |
Unäre Operatoren, Rückgabedatentyp, Objekterstellung, nicht definierte Werte |
13 |
von links nach rechts |
*, /, % |
Multiplikation, Division, Modulo-Division |
12 |
von links nach rechts |
+, - |
Addition und Zeichenfolgenverkettung, Subtraktion |
11 |
von links nach rechts |
<<, >>, >>> |
Bit-Verschiebung |
10 |
von links nach rechts |
<, <=, >, >=, instanceof |
Kleiner als, kleiner oder gleich, größer als, größer oder gleich, instanceof (Instanz von) |
9 |
von links nach rechts |
==, !=, ===, !== |
Gleichheit, Ungleichheit, strikte Gleichheit und strikte Ungleichheit |
8 |
von links nach rechts |
& |
Bitweises AND |
7 |
von links nach rechts |
^ |
Bitweises XOR |
6 |
von links nach rechts |
| |
Bitweises OR |
5 |
von links nach rechts |
&& |
Logisches AND |
4 |
von links nach rechts |
|| |
Logisches OR |
3 |
von rechts nach links |
?: |
Bedingt |
2 |
von rechts nach links |
=, OP= |
Zuweisung, Verbundzuweisung |
1 |
von links nach rechts |
, (Komma) |
Mehrfache Auswertung |
Durch Klammern in einem Ausdruck kann die Reihenfolge der Auswertung, wie sie durch die Operatorrangfolge bestimmt wird, geändert werden. Dies bedeutet, dass ein Ausdruck in Klammern vollständig ausgewertet wird, bevor sein Wert im Rest des Ausdrucks verwendet wird.
Beispiel:
z = 78 * (96 - 3 + 45)
Im obigen Ausdruck sind fünf Operatoren enthalten: =, *, (), - und +. Gemäß den Operatorrangfolgeregeln werden sie in der folgenden Reihenfolge ausgewertet: (), -, +, *, =.
Die Auswertung des Ausdrucks innerhalb der Klammern findet zuerst statt. Innerhalb der Klammern befinden sich ein Additions- und ein Subtraktionsoperator. Beide Operatoren haben den gleichen Rang und werden von links nach rechts ausgewertet. Die Zahl 3 wird zuerst von 96 subtrahiert. Dies ergibt den Wert 93. Anschließend wird die Zahl 45 zu 93 addiert, das Ergebnis ist 139.
Als Nächstes wird die Multiplikation durchgeführt. Die Zahl 78 wird mit 139 multipliziert. Das Ergebnis lautet 10764.
Als Letztes wird die Zuweisung vorgenommen. Die Zahl 10764 wird dem Wert z zugewiesen.
Siehe auch
Konzepte
Zusammenfassung der Operatoren