Eigenschaften lesen
Ein Objekt ist nur nützlich, wenn du seine Werte wieder herausbekommst. Um eine Eigenschaft zu lesen, schreibe den Namen des Objekts, einen Punkt und den Schlüssel:
const buch = {
titel: "Der Hobbit",
autor: "J. R. R. Tolkien",
seiten: 310
};
console.log(buch.titel);
console.log(buch.seiten);Der Hobbit
310Den Punkt kennst du schon von Arrays: liste.length liest die Eigenschaft length eines Arrays.
buch.titel ist ein Wert wie jeder andere. Du kannst ihn in einer Variable speichern, damit rechnen oder ihn in ein Template-Literal setzen:
const buch = { titel: "Der Hobbit", autor: "J. R. R. Tolkien", seiten: 310 };
const tage = buch.seiten / 10;
console.log(`${buch.titel} von ${buch.autor}`);
console.log("Bei 10 Seiten am Tag liest du es in", tage, "Tagen.");Der Hobbit von J. R. R. Tolkien
Bei 10 Seiten am Tag liest du es in 31 Tagen.Was passiert, wenn du eine Eigenschaft liest, die das Objekt nicht hat? Anders als bei einem falsch geschriebenen Variablennamen ist das kein Fehler. Du bekommst undefined, den besonderen Wert, den du von Arrays kennst und der „hier ist nichts“ bedeutet:
const buch = { titel: "Der Hobbit", autor: "J. R. R. Tolkien", seiten: 310 };
console.log(buch.jahr);
console.log(buch.Titel);undefined
undefinedDas Buch hat kein jahr. Und Titel ist nicht titel: Wie bei Variablennamen ist auch bei Schlüsseln die Groß- und Kleinschreibung wichtig. Wenn du also ein unerwartetes undefined siehst, prüfe, wie du den Schlüssel geschrieben hast.
Noch ein Fehler: Der Schlüssel nach dem Punkt hat keine Anführungszeichen. buch."titel" endet mit SyntaxError: Unexpected string.
So schreibst du es:
Anweisungen
- 1
Das Programm gibt
undefinedaus. Korrigiere den Schlüssel inconsole.log, sodass es den Titel des Buchs ausgibt,Der Hobbit. - 2
Gib darunter den Satz
Der Hobbit hat 310 Seiten.aus. Tippe den Titel und die Zahl nicht selbst ein: Lies sie mitbuch.titelundbuch.seitenaus dem Objekt, zum Beispiel in einem Template-Literal.