Die Subtraktion »…-…« in JavaScript
Einführendes Beispiel
In JavaScript kann auch eine Differenz in der gewohnten Schreibweise als Ausdruck verwendet werden.
- Auswertung
8 - 2
6
Syntax
Das Zeichen »-« wird „Minus“ oder „Bindestrich“ genannt. Die Subtraktion wird mit dem Minus »-« geschrieben.
- Neue, erweiterte Syntax
Ausdruck
.----------.
---.----------------->| Literal |-----------------------------.--->
| '----------' ^
| .-. .----------. .-. |
'-------->( ( )--->| Ausdruck |--->( ) )--------------------'
| '-' '----------' '-' |
| .-. .----------. |
'-------->( - )--->| Ausdruck |-----------------------------'
| '-' '----------' |
| .-. .----------. |
'-------->( + )--->| Ausdruck |-----------------------------'
| '-' '----------' |
| .------. .----------. |
'--->( typeof )--->| Ausdruck |-----------------------------'
| '------' '----------' |
| .----------. .-. .----------. |
'----------------->| Ausdruck |--->( / )--->| Ausdruck |----'
| '----------' '-' '----------' |
| .----------. .-. .----------. |
'----------------->| Ausdruck |--->( + )--->| Ausdruck |----'
| '----------' '-' '----------' |
| .----------. .-. .----------. |
'----------------->| Ausdruck |--->( - )--->| Ausdruck |----'
'----------' '-' '----------'
Syntax, Typanforderungen, Typergebnisse, Assoziativität und Priorität sind bei diesem binären Operator wie bei der Addition, nur daß hier keine Zeichenketten erlaubt sind und man den linken Operanden als Minuenden und den rechten als Subtrahenden bezeichnet. Die Semantik (der Wert) ist hingegen die der Subtraktion (Differenz).
Die Subtraktion numerischer Zeichenfolgen
Wenn Zeichenfolgen Numerale enthalten, so können sie voneinander subtrahiert werden. Dabei wird der Wert des in ihnen enthaltenen Vorzeichennumerales als Zahlenwert verwendet.
- Auswertung
"8" - "2"
6
- Auswertung
"8" - "-2"
10
Wenn man die Subtraktion »-« mit der Addition »+« vergleicht, so sieht man, unterschiedliche Vorgehensweisen: Die Subtraktion wandelt ihre Operanden immer in Zahlen. Bei der Addition wird ein Operand aber in eine Zeichenfolge gewandelt, wenn der andere eine Zeichenfolge ist.
- Auswertung
'5' - 1
4
- Auswertung
'5' + 1
"51"
Die folgenden beiden Ausdrücke illustrieren, wie man zwei Zahlen addieren kann, die jeweils durch eine Zeichenfolge gegeben sind.
- Auswertung
-( -'6' - '3' )
9
- Auswertung
'6'- -'3'
9
Im letzten voranstehenden Beispiel ist das Leerzeichen in der Mitte des eingegebenen Ausdrucks wichtig.
Assoziativität
Die Assoziativität kann man bei der Subtraktion deutlicher erkennen als bei der Addition, weil das Ergebnis einer Abfolge zweier Subtraktionen von der Art der Zusammenfassung von Operanden abhängt.
- Auswertung
8 - 2 - 3
3
- Operationen bei der Auswertung von »8 - 2 - 3«
- Operation Berechnung der Differenz »8 - 2«, Ergebnis »6«.
_____
8 - 2 - 3 →
6 - 3- Operation Berechnung der Differenz »6 - 3«, Ergebnis »3«.
_____
6 - 3 →
3
Addition und Subtraktionen haben die gleiche Priorität. Daher wird bei einer Kombination beider Operatoren, in der sie einen Operanden teilen, ebenfalls gemäß der Assoziativität dieser beiden Operatoren von links nach rechts zusammengefaßt.
- Auswertung
8 - 4 + 4
8
- Operationen bei der Auswertung von »8 - 4 + 4«
- Operation Berechnung der Differenz »8 - 4«, Ergebnis »4«.
_____
8 - 4 + 4 →
4 + 4- Operation Berechnung der Summe »4 + 4«, Ergebnis »8«.
_____
4 + 4 →
8
Literale mit einem Operatorzeichen
Das Literal »2e+03« ist keine Summe, sondern bedeutet „2·10³“. Um Summen deutlich von solchen Literalen mit einem inneren Pluszeichen oder einem inneren Minuszeichen zu unterscheiden, bietet es sich an, die binären Operatoren »+« und »-« mit einem umgebenden Leerzeichen zu verwenden.
Beispiele
● Gleichheitstest
Die Subtraktion kann gut verwendet werden, um zu erkennen, ob zwei Numeralia den gleichen Zahlenwert repräsentieren: Nur dann ist ihre Differenz gleich 0.
- Auswertung
0 - 0.00
0
Der Wert von »0« ist ja zunächst nicht gleich dem Wert von »0.00«, da beide Werte sich schon im Typ unterscheiden. Da bei dieser Subtraktion der Typ der beiden Operanden jedoch nach »double« angeglichen wird, ergibt sich dann doch das Ergebnis »0.0«.
● Punktnumeralia
Es wird noch einmal deutlich, daß verschiedene Literale denselben Wert haben können, also sind Literale nicht dasselbe wie ihre Werte.
- Auswertung
2.0 - 1.9999999999999999
0
Übungsfragen ⃗
? Operatoren ⃗
Ist der folgende Quelltext ein Ausdruck?
Welches der Minuszeichen »-« steht in dem folgenden Quelltext für einen unären Operator und welches für einen binären?
- Quelltext
- 2 - - - 2
? Operanden ⃗
Wie viele Operanden hat der Ausdruck »8 - 2«?
- Anton: keinen.
- Berta: einen.
- Cäsar: zwei.
- Dora: drei.
Nennen Sie die Operanden im Ausdruck »8 - 2«!
Wie viele Operanden im Ausdruck »8 - 2« sind positiv?
- Anton: keiner.
- Berta: einer.
- Berta: zwei.
- Dora: drei.
Wie viele Operanden hat der Operator »-« im Ausdruck »8 - 2 / 3«?
- Anton: keinen.
- Berta: einen.
- Berta: zwei.
- Dora: drei