Die Klammerschreibweise in JavaScript
Wir haben schon behandelt, daß der Ausdruck »v.e« für den Eintrag »e« des Verzeichnisses »v« steht.
Es ist aber ebenfalls möglich, den Eintrag Eintrag »e« aus dem Verzeichnis »v« mit der Schreibweise »v["e"]« anzugeben.
Der Ausdruck »v.e« kann also auch als »v["e"]« geschrieben werden.
Dabei wird der Name des Eintrags als elementarer Wert (also als Zahl oder Zeichenfolge) in eckigen Klammern hinter einen Ausdruck »v« für das Verzeichnis geschrieben. Wir müssen also den Namen des Eintrags in Anführungszeichen schreiben, um diesen als Zeichenfolge zu erhalten.
- Auswertung
this.a = 2
2
- Auswertung
this . a
2
- Auswertung
this [ "a" ]
2
- Auswertung
this [ "a" ] = 5
5
- Auswertung
this . a
5
Schlüssel mit Leerzeichen
Die Klammerschreibweise eröffnet uns einige zusätzliche Möglichkeiten. Sie erlaubt es beispielsweise auch einen Schlüssel mit Leerzeichen anzugeben.
- Auswertung
this[ "Anton Berta Cäsar" ] = 7
7
- Auswertung
this[ "Anton Berta Cäsar" ]
7
Numerische Schlüssel
Unter Verwendung der Klammerschreibweise können wir nun auch einen numerischen Schlüssel verwenden.
- Auswertung
Math[ 2 ]= 3
3
- Auswertung
Math[ 2 ]
3
Wir haben hier zu Vorführzwecken »Math« und nicht »window« (= »this«) verwendet, weil die numerischen Einträge bei »window« schon eine festgelegte Bedeutung haben und sich nicht einfach als normale Einträge verwenden lassen.
Ein numerischer Schlüssel wird auch als ein Index bezeichnet (der Index, Genitiv: des Indexes, Plural: die Indizes).
Verzeichnisse als Schlüssel
Verzeichnisse können zwar als Schlüssel verwendet werden, aber sie werden dabei nicht so interpretiert, wie man dies vielleicht erwartet. Die Interpretation von Verzeichnissen als Schlüssel liefert selten das, was man eigentlich von ihr erwarten würde. Daher sollte man in der Regel Verzeichnisse nicht als Schlüssel einsetzen.
Einträge in der Klammerschreibweise
In den eckigen Klammern kann ein beliebiger Ausdruck stehen, dessen Wert dann als Schlüssel verwendet wird.
- Auswertung
this.x2 = 8
8
- Auswertung
this[ "x" +( 1 + 1 )]
8
Insbesondere kann der Schlüsselwert auch von einem Eintrag geliefert werden.
- Auswertung
x = "PI"
"PI"
- Auswertung
Math[ x ]
3.141592653589793
Auch für das Verzeichnis kann ja ein Eintrag eingesetzt werden.
- Auswertung
y = Math
- Auswertung
y[ x ]
3.141592653589793
Für das nächste Beispiel zu einem errechneten Schlüssel tragen wir erst einmal drei Einträge mit Ziffern als Schlüssel in das Verzeichnis »this.Math« ein.
- Auswertung
Math[ 0 ]= "null"
"null"
- Auswertung
Math[ 1 ]= "eins"
"eins"
- Auswertung
Math[ 2 ]= "zwei"
"zwei"
Nun definieren wir noch einen weiteren Eintrag »i«, der zunächst auf »-1« gesetzt wird.
- Auswertung
i = -1
-1
Jetzt können wir die Werte der drei Zifferneinträge durch wiederholtes Auswerten desselben Ausdrucks ausgeben lassen.
- Auswertung
Math[ i = i + 1 ]
"null"
- Auswertung
Math[ i = i + 1 ]
"eins"
- Auswertung
Math[ i = i + 1 ]
"zwei"
Ein Eintrag für einen Index wird oft »i« genannt, weil das Wort „Index“ mit „I“ beginnt.
Übungsfragen
? Übungsfrage
Wie viele lexikalische Einheiten haben die folgenden Ausdrücke jeweils?
- Ausdruck
this.a = 2
- Ausdruck
this.a
- Ausdruck
this[ "a"