Читать книгу JavaScript – Das Handbuch für die Praxis - David Flanagan - Страница 75

4.4Ausdrücke für den Eigenschaftszugriff

Оглавление

Ein Ausdruck zum Eigenschaftszugriff bzw. ein Eigenschaftszugriffsausdruck wertet den Wert einer Objekteigenschaft oder eines Array-Elements aus. JavaScript definiert zwei Syntaxformen für den Eigenschaftszugriff:

Ausdruck . Identifier

Ausdruck [ Ausdruck ]

Bei der ersten Art des Eigenschaftszugriffs wird ein Ausdruck genutzt, auf den ein Punkt und dann ein Identifier folgen. Der Ausdruck gibt das Objekt an und der Identifier den Namen der gewünschten Eigenschaft. Bei der zweiten Art des Eigenschaftszugriffs folgt auf den ersten Ausdruck (das Objekt oder Array) ein weiterer Ausdruck in eckigen Klammern. Dieser zweite Ausdruck gibt den Namen der gewünschten Eigenschaft oder den Index des gewünschten Array-Elements an. Hier einige konkrete Beispiele:

let o = {x: 1, y: {z: 3}}; // Ein Beispielobjekt.

let a = [o, 4, [5, 6]]; // Ein Beispielarray, das das Objekt enthält.

o.x // => 1: Eigenschaft x des Ausdrucks o.

o.y.z // => 3: Eigenschaft z des Ausdrucks o.y.

o["x"] // => 1: Eigenschaft x des Objekts o.

a[1] // => 4: Das Element an Indexposition 1 des

// Ausdrucks a.

a[2]["1"] // => 6: Das Element an Indexposition 1 des

// Ausdrucks a[2].

a[0].x // => 1: Eigenschaft x des Ausdrucks a[0].

Bei beiden Arten des Eigenschaftszugriffs wird der Ausdruck vor dem . oder [ zuerst ausgewertet. Ist der Wert null oder undefined, löst der Eigenschaftszugriff einen TypeError aus, da diese beiden JavaScript-Werte keine Eigenschaften haben können. Folgen auf den Objektausdruck ein Punkt und ein Identifier, wird der Wert der dadurch benannten Eigenschaft nachgeschlagen und zum Wert des gesamten Ausdrucks. Folgt auf den Objektausdruck ein weiterer Ausdruck in eckigen Klammern, wird dieser zweite Ausdruck ausgewertet und in einen String umgewandelt. Der Wert des gesamten Ausdrucks ist dann der Wert der Eigenschaft mit dem durch den String angegebenen Namen. In beiden Fällen lautet der Wert des Eigenschaftszugriffsausdrucks undefined, wenn es die angegebene Eigenschaft nicht gibt.

Die Identifier-Syntax mit Punktnotation ist die einfachere der beiden Optionen für den Eigenschaftszugriff. Beachten Sie jedoch, dass sie nur eingesetzt werden kann, wenn die Eigenschaft, auf die Sie zugreifen wollen, einen zulässigen Identifier-Namen hat und Sie den Namen des Identifiers beim Schreiben des Programms bereits kennen. Wenn der Eigenschaftsname Leerzeichen oder Interpunktionszeichen enthält oder eine Zahl ist (bei Arrays), müssen Sie die Notation mit eckigen Klammern verwenden. Eckige Klammern werden auch genutzt, wenn der Eigenschaftsname nicht statisch, sondern selbst das Ergebnis einer Berechnung ist (ein Beispiel finden Sie in 6.3.1).

Objekte und ihre Eigenschaften werden ausführlich in Kapitel 6 behandelt, Arrays und ihre Elemente in Kapitel 7.

JavaScript  –  Das Handbuch für die Praxis

Подняться наверх