Das globale Verzeichnis in JavaScript
Wir hatten in der vorigen Lektion schon den Bezeichnernamen »Infinity« kennengelernt, der als Ausdruck für den Wert »Infinity« verwendet werden kann.
- Auswertung
Infinity
Infinity
Ein Name erhält seinen Wert nämlich erst dadurch, daß jener Wert in einem Namensverzeichnis als Wert jenes Namens eingetragen ist.
Das normalerweise verwendete Verzeichnis (das Standardnamensverzeichnis oder Hauptverzeichnis ) wird »this« genannt.
Um einen Wert eindeutig anzugeben, kann im das zu verwendende Verzeichnis als Primärausdruck mit einem Punkt ».« vorangestellt werden (»this« gilt als ein Primärausdruck).
- Syntax
.-----------------. .-. .----------------.
--->| Primaerausdruck |--->( . )--->| Bezeichnername |--->
'-----------------' '-' '----------------'- Semantik
- Die Schreibweise bedeutet den Wert des hinter dem Punkt angegebenen Namens im vor dem Punkt angegebenen Verzeichnis.
Der Ausdruck »this.Infinity« bedeutet beispielsweise den Wert, welchen der Name »Infinity« im Verzeichnis »this« hat. (Dieser Wert ist »Infinity«.)
- Auswertung
this.Infinity
Infinity
Wir werden später weitere Beispiele sehen, in denen an Stelle von »this.« auch andere Verzeichnisse und an Stelle von »Infinity« auch andere Namen verwendet werden.
In diesem Zusammenhang wird der Name auch als Schlüssel bezeichnen.
Wir nennen den Schlüssel zusammen mit seinem Wert auch einen Eintrag in dem Verzeichnis. Ein Verzeichnis ist also – umgekehrt gesagt – eine Menge von Einträgen.
Die hier vorgestellten Angaben mit einem Punkt nennt man auch manchmal, wie bereits in einer früheren Lektion beschrieben, echte Eintragsausdrücke, Namen ohne Punkt Bezeichnernamen.
Man stellt sich bei einem Eintragsausdruck normalerweise vor, daß der Primärausdruck links vom Punkt ein Verzeichnis angibt und der Bezeichnername rechts vom Punkt einen Eintrag in diesem Verzeichnis, also etwas das in diesem Verzeichnis enthalten ist.
- »Math« als Sammlung von Paaren aus Schlüsseln und Werten
.--------------------------------.
| Math |
| ---- |
|--------------------------------|
| Schluessel | Wert |
|------------|-------------------|
| PI | 3.141592653589793 |
'--------------------------------'
Das globale Verzeichnis »this«
Das Hauptverzeichnis »this« wird auch oft globales Verzeichnis genannt.
Wir verwenden entsprechend auch die Schreibweise »this.Infinity« für den Wert des Namens »Infinity« im globalen Verzeichnis.
Da das globale Verzeichnis sich auch verändern kann, soll „this“ in diesem Kurs – falls nichts anderes gesagt ist – das globale Verzeichnis direkt nach dem Start der ECMAScript -Implementation darstellen.
Globale Namen
Die Namen, welchen das Hauptverzeichnis »this« Werte zuordnet, werden auch globale Namen oder globale Schlüssel genannt.
»Infinity« ist beispielsweise ein globaler Name.
Wenn ein globaler Name verwendet werden soll, so kann das vorangestellte »this.« bis auf weiteres auch entfallen. Daher kann bis auf weiteres statt »this.Infinity« auch einfach »Infinity« geschrieben werden, wie ja schon am Anfang dieser Lektion gezeigt wurde.
- Auswertung
Infinity
Infinity
Typographische Konventionen
Im weiteren Verlaufe dieses Skripts verwenden wir manchmal statt „»Infinity«“ die Schreibweise „≫Infinity≪“ mit besonderen Anführungszeichen.
Diese Schreibweise soll ausdrücken, daß der erste Bezeichnername im eingeschlossenen Text einen Eintrag im globalen Verzeichnis darstellen soll. Das heißt, daß man für ≫Infinity≪ auch »this.infinity« schreiben könnte (falls »this« für das globale Verzeichnis steht).
Genauso verwenden wir an Stelle von „«Infinity»“ (also den Wert des eingeschlossenen Ausdrucks) manchmal die Schreibweise „≪Infinity≫“.
Der Typ eines Verzeichnisses
Der Typ eines Verzeichnisses ist »object«.
- Auswertung
typeof this
"object"
- Typen (alphabetisch sortiert)
boolean
number
object
string
Übungsfragen
? Enthaltensein
Was kann man aus der Schreibweise »alpha.gamma« in JavaScript normalerweise entnehmen?
- »alpha« ist in »gamma« enthalten
- »gamma« ist in »alpha« enthalten
- keiner der obigen Antwortvorschläge trifft zu