Eintragsausdrücke und Operatoren in JavaScript
Wir haben im vorigen Kapitel Operatorausdrücke mit anderen Operatorausdrücken oder mit Literalen als Operatoren gebildet.
Es ist auch möglich, Eintragsausdrücke als Operanden zu verwenden.
In JavaScript gilt ein Substitutionsprinzip, demzufolge es im allgemeinen möglich ist, jedes Literal in einem Ausdruck durch einen Eintragsausdruck zu ersetzen. Der Ausdrück könnte dann zwar seinen Wert ändern (oder bei der Auswertung sogar zu einer Fehlermeldung führen), aber er bleibt weiterhin ein Ausdruck.
So kommen wir vom Ausdruck »-2« durch Substitution der »2« durch »Infinity« zum Ausdruck »-Infinity«.
Statt dessen kann man aber genausogut ohne Rückgriff auf das Substitutionsprinzip einfach sagen, daß ein Operand nicht nur ein Operatorausdruck oder ein Literal, sondern auch ein Eintragsausdruck sein darf.
Wir geben im folgenden einige Ausdrücke mit Operatoren und Eintragsausdrücke als Beispiel an.
- Auswertung
-this.Infinity
-Infinity
- Auswertung
-Infinity
-Infinity
- Auswertung
-this.Math.PI
-3.141592653589793
- Auswertung
this.Math.PI/2
1.5707963267948966
- Operationen bei der Auswertung von »this.Math.PI/2«:
- Erste Operation Auslesen des Wertes »this.Math.PI«.
____________
this.Math.PI/2 →
3.141592653589793/2- Zweite Operation Berechnung der Division.
___________________
3.141592653589793/2 →
1.5707963267948966
Wertausdrücke mit Literalen, Eintragsausdrücken und Operatoren dürfen praktisch beliebig groß und kompliziert werden, solange sie korrekt gebildet sind.
Trennende und halbtrennende Zeichen ⃗
Wir hatten bisher schon die runden Klammern als trennende Zeichen kennengelernt, die nie durch zusätzlichen Leerraum abgegrenzt werden müssen.
- Auswertung
( ( this.Math.PI ))
-3.141592653589793
- Auswertung
( ( 2 ))
2
Es gibt auch Zeichen, die zwar manchmal durch Leerraum abgegrenzt werden müssen, aber nicht bei Kontakt zu einem Wort oder einem Literal. Solche Zeichen nennen wir hier auch halbtrennend. Das Minuszeichen »-« ist solch ein halbtrennendes Zeichen. Es muß zwar manchmal mit Leerraum von einem anderen Minuszeichen abgegrenzt werden, aber dies kommt selten vor. Wenn es jedoch vor oder hinter einem Wort oder Literal steht, so ist keine Abgrenzung mit Leerraum nötig. Es kann also meistens wie ein trennendes Zeichen ohne Leerraum verwendet werden.
- Auswertung
-this.Math.PI-this.Math.PI
-6.283185307179586
- Auswertung
-2-2
-4
Ausdrücke
Zusammenfassend sei festgehalten, daß nach dem bisher Gesagtem ein Ausdruck entweder
- ein Literal – wie »2« – oder
- ein Eintragsausdruck – wie »this.Math.PI« – oder
- ein Operatorausdruck – wie »this.Math.PI/2« – ist
und daß solch ein Ausdruck (gegebenenfalls in runden Klammern) als Operand verwendet oder mit einer JavaScript -Implementation ausgewertet werden kann.
- Neue, erweiterte Syntax (vereinfacht)
Ausdruck
.----------.
---.----------->| Literal |---------------------------.---->
| '----------' |
| .------------------. |
'----------->| Eintragsausdruck |-------------------'
| '------------------' |
| .-. .----------. |
'--->( - )-->| Ausdruck |---------------------------'
| '-' '----------' |
| .-. .----------. |
'--->( + )-->| Ausdruck |---------------------------'
| '-' '----------' |
| .-. .----------. .-. |
'--->( ( )-->| Ausdruck |-->( ) )-------------------'
| '-' '----------' '-' |
| .----------. .-. .----------. |
'----------->| Ausdruck |-->( / )-->| Ausdruck |----'
| '----------' '-' '----------' |
| .----------. .-. .----------. |
'----------->| Ausdruck |-->( + )-->| Ausdruck |----'
| '----------' '-' '----------' |
| .----------. .-. .----------. |
'----------->| Ausdruck |-->( - )-->| Ausdruck |----'
| '----------' '-' '----------' |
| .----------. .-. .----------. |
'----------->| Ausdruck |-->( * )-->| Ausdruck |----'
'----------' '-' '----------'
Übungsaufgaben
Zusatzaufgaben *
/ Wertermittlung *
Rechnen Sie 30° (30 Grad, Winkelangabe in Grad [„Altgrad“]) in die Einheit „Radiant“ um, indem Sie 30 mit π/180 multiplizieren.
Beispiele *
● Beispiel Berechnung des Umfangs eines Kreises mit Radius 3 Meter *
- r: Radius, hier nehmen wir als Beispiel an: r = 3
- U: Umfang
- π ≈ 3,14159265358979323846264338327950288419716939937510
- U = 2 π r ⇒ U = 2 π · 3
- Auswertung
"Umfang = " + 2 * this.Math.PI * 3 + " Meter"
"Umfang = 18.84955592153876 Meter"
● Beispiel Berechnung der Fläche eines Kreises mit Radius 3 Meter *
Einige Bezeichnungen dieses Beispiels werden aus dem vorigen Beispiel übernommen.
- F: Fläche
- F = π r² ⇒ F = π · 3²
- Auswertung
"Flaeche = " + this.Math.PI * 3 * 3 + " Quadratmeter"
"Flaeche = 28.274333882308138 Quadratmeter"