186 Kapitel 5
Objektreferenzen
Sie haben schon gesehen, dass man eine Variable als Behälter für einen Wert
betrachten kann. Zahlen, Strings und Boolesche Werte sind jedoch ziemlich
kleine Werte. Was ist aber mit Objekten? Kann eine Variable ein Objekt
beliebiger Größe enthalten, egal wie viele Eigenschaften Sie da hineinpacken?
Tatsächlich enthalten Variablen gar keine Objekte.
Stattdessen enthalten sie eine Referenz auf das Objekt.
Die Referenz ist wie ein Zeiger auf oder die Adresse des
eigentlichen Objekts.
Anders gesagt: Variablen enthalten nicht das Objekt selbst,
sondern eine Art Zeiger. Und in JavaScript wissen wir gar nicht
genau, was die Referenzvariable tatsächlich genau enthält. Wir
wissen nur, dass es – was immer es auch ist – auf unser Objekt
verweist.
Bei Verwendung der Punktnotation kümmert sich der Java-
Script-Interpreter um die Verwendung der Referenz und greift
dann für uns auf das Objekt und seine Eigenschaften zu.
Das bedeutet: Eigentlich können wir ein Objekt nicht in eine Variable packen,
aber wir stellen uns das so vor. Tatsächlich passiert das jedoch nicht. Es gibt
einfach keine gigantischen Behälter, die sich der Größe jedes Objekts anpassen
können. Stattdessen enthält die Variable einfach eine Referenz auf das Objekt.
Mit anderen Worten: Eine primitive Variable steht für den in ihr enthaltenen
Wert. Eine Objektvariable steht dagegen für eine Möglichkeit, auf das Objekt
zuzugreifen. In der Praxis müssen Sie sich Objekte einfach als – nun ja – eben
Objekte vorstellen, wie Hunde oder Autos, und nicht als Referenzen. Trotzdem
kann es später praktisch sein, wenn Sie schon wissen, dass Variablen Referenzen
auf Objekte enthalten (was wir in ein paar Seiten auch sehen werden).
Anders gesagt: Sie verwenden die Punktnotation (.) einer Objektvariablen, um
Folgendes zu sagen: »Benutze die Referenz vor dem Punkt, um mir das Objekt
mit der Eigenschaft nach dem Punkt zurückzugeben.« (Wiederholen Sie den
letzten Satz so lange, bis Sie ihn verstanden haben.) Zum Beispiel:
car.color;
Heißt: »Verwende das durch die Variable car referenzierte Objekt, um auf
dessen Eigenschaft color zuzugreifen«.
make: "Chevy"
model: "Bel Air"
year: 1957
color: "rot"
passengers: 2
convertible: false
mileage: 1021
chevy
Entschuldigung, ich
glaube, das passt hier
nicht alles rein.
Ah, schon viel besser.
Jetzt muss ich nur noch
eine Referenz auf das
Objekt enthalten.
chevy
make: "Chevy"
model: "Bel Air"
year: 1957
color: "rot"
passengers: 2
convertible: false
mileage: 1021
Hinter
den Kulissen
Wie kann eine Variable ein Objekt enthalten? Einige
Leute mit Forscherdrang wollen das wissen …

Get JavaScript-Programmierung von Kopf bis Fuß now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.