Die Syntax der Zuweisung in JavaScript
Syntax
Eine Zuweisung ist ein Ausdruck; sie beginnt mit zwei Bestandteilen: einem Eintragsausdruck und einem Gleichheitszeichen »=«; danach folgt ein Ausdruck, den wir auch einfach „den Ausdruck“ der Zuweisung nennen.
- Zuweisung (Syntaxdiagramm)
Ausdruck
.------------------. .-. .----------.
--->| Eintragsausdruck |--->( = )--->| Ausdruck |--->
'------------------' '-' '----------'
In diesem Teil des Kurses bevorzugen wir für Beispiele auf der linken Seite des Gleichheitszeichens Bezeichner mit weniger als drei Zeichen. Wir empfehlen zunächst auch Lesern, bevorzugt solche kurzen Bezeichner in Zuweisungen zu verwenden. Später wird dann erklärt werden, unter welchen Umständen auch längere Eintragsausdrücke verwendet werden können.
Priorität
Der Operator »=« hat eine etwas stärkere Priorität als der Pfeiloperator »()=>« und ist rechtsassoziativ.
- Eigenschaften von Operatoren
A P A (A = Aritaet, P = Position [Zirkumfix, Praefix, Infix], A = Assoziativitaet)
() 1 Z Eingeklammerter Ausdruck
+ - typeof 1 P Unaere vorangestellte Operatoren (Vorzeichen)
* / 2 I L "Punktrechnung": Multiplikation, Division
+ - 2 I L "Strichrechnung": Addition, Subtraktion
< 2 I L Kleiner
=== !== 2 I L Gleichheit, Ungleichheit
= ()=> 2 I R Zuweisung, Klammerpfeil
Die Priorität des Zuweisungsoperators ist niedriger als die der meisten bisher vorgestellten Operatoren. Deswegen muß eine Zuweisung oft in runde Klammern eingeschlossen werden, falls sie als Operand in einem Ausdruck verwendet werden soll.
Bei einer Kombination von Zuweisungoperator und einem Klammerpfeil gilt die Rechtsassoziativität.
()=> b = c
()=>( b = c )
a = ()=> b
a =( ()=> b )
Assoziativität
Die Zuweisung ist rechtsassoziativ.
Übungsfragen
? Übungsfrage
Welche Interpretation des Ausdrucks ist richtig?
a = b = 2
( a = b )= 2
a =( b = 2 )
? Übungsfrage
Welche Interpretation des Ausdrucks ist richtig?
a = b + 2
( a = b )+ 2
a =( b + 2 )