Der Ausdruck »+…« in JavaScript
Einführende Beispiel
Einem Literal kann auch ein Pluszeichen »+« vorangestellt werden. Hierdurch ergibt sich ein Ausdruck, der aber kein Literal mehr ist.
- Auswertung
+65
65
Solch ein vorangestelltes Zeichen nennt man auch ein Vorzeichen.
Aufbau
Ein Vorzeichenausdruck ist entweder ein Literal oder ein Pluszeichen, dem ein Literal folgt.
Jeder Vorzeichenausdruck ist ein Ausdruck.
- Ausdruck (Aufbaudiagramm)
Vorzeichenausdruck
.----------.
|-|---.------------>| Literal |----.---->|-|
| '----------' |
| .-. .----------. |
'--->( + )--->| Literal |----'
'-' '----------'Ausdruck
.---------------------.
|-|--->| Vorzeichenausdruck |--->|-|
'---------------------'
Es fällt auf, daß auch ein Literal ohne ein Vorzeichen als Vorzeichenausdruck gilt. Dies liegt daran, daß ein Literal ohne Vorzeichen überall verwendet werden darf, wo auch ein Literal mit Vorzeichen stehen darf, so daß es am einfachsten ist, es auch als einen „Vorzeichenausdruck“ zu bezeichnen.
Zur Unterscheidung von den Literalen nennen wir Vorzeichenausdrücke, die wirklich mit einem Vorzeichen beginnen echte Vorzeichenausdrücke.
Semantik
Das Pluszeichen und Zahlen
Der Wert einer Zahl wird durch ein vorangestelltes Pluszeichen nicht verändert.
- Auswertung
+65
65
Das Pluszeichen und Wahrheitswerte
Der Wahrheitswert «true» wird in die Zahl «1» gewandelt, der Wahrheitswert «false» in die Zahl «0».
- Auswertung
+true
1
+false
0
Auch bei einigen anderen Operatoren wird als Zahlenwert von «true» der Wert «1» und als Zahlenwert von «false» der Wert «0» verwendet.
Das Pluszeichen und Zeichenfolgen
Falls eine Zeichenfolge als Zahl interpretierbar ist, so wird sie in die ihr entsprechende Zahl gewandelt.
Der Plusoperator wandelt einen Operanden vom Typ »string« in eine Zahl, wenn dieser ein Numerale enthält.
- Auswertung
+"65"
65
Die Zeichenfolge darf dabei auch ein einzelnes Vorzeichen enthalten (aber nicht mehrere Vorzeichen).
- Auswertung
+"-65"
-65
Auch die Schreibweise mit einem »E« ist erlaubt.
- Auswertung
+"2E2"
200
Die leere Zeichenfolge wird in den Wert «0» gewandelt.
- Auswertung
+""
0
Auch eine Zeichenfolge, die nur aus Leerzeichen besteht, wird in den Wert «0» gewandelt.
- Auswertung
+" "
0
Die besondere Interpretation von Numeralia, die mit einer Null beginnen, wird nicht bei der Umwandlung von Zeichenfolgen verwendet.
- Auswertung
010
8
- Auswertung
+"010"
10
Typregeln
Der Typ eines Vorzeichenausdrucks ist in jedem Fall »number«, auch wenn der Operand des Vorzeichens den Typ »string« hat.
- Typregeln
- + number = number
+ boolean = number
+ string = number
Wir nennen einen Ausdruck numerisch, wenn er dort verwendet werden kann, wo eine Zahl erwartet wird. Zu den numerischen Ausdrücken gehören einmal die Numerale, also Literale vom Typ ›number‹, aber dann auch Wahrheitswerte vom Typ ›boolean‹ und die Zeichenfolgen mit geeigneten Numeralia, wie beispielsweise »"23"«. «"23"» hat den Typ ›string‹, es ist also eine Zeichenfolge, aber es ist eine numerische Zeichenfolge.
Das Pluszeichen erlaubt es, einen Wert vom Typ »boolean« oder »string« in eine Zahl zu verwandeln.
Übungsfragen
? Typergebnisse
Welchen Datentyp haben die Werte der folgenden Ausdrücke jeweils?
A »+2«
B »+"2"«