Čtení vlastností
Objekt je užitečný, jen když z něj umíte hodnoty zase dostat. Vlastnost přečtete tak, že napíšete název objektu, tečku a klíč:
const kniha = {
nazev: "Hobit",
autor: "J. R. R. Tolkien",
pocetStran: 310
};
console.log(kniha.nazev);
console.log(kniha.pocetStran);Hobit
310Tečku už znáte z polí: seznam.length čte vlastnost length (délka) pole.
kniha.nazev je hodnota jako každá jiná. Můžete ji uložit do proměnné, počítat s ní nebo ji vložit do šablonového řetězce:
const kniha = { nazev: "Hobit", autor: "J. R. R. Tolkien", pocetStran: 310 };
const dny = kniha.pocetStran / 10;
console.log(`${kniha.nazev} (${kniha.autor})`);
console.log("Při 10 stranách denně ji přečtete za", dny, "dní.");Hobit (J. R. R. Tolkien)
Při 10 stranách denně ji přečtete za 31 dní.Co když přečtete vlastnost, kterou objekt nemá? Na rozdíl od překlepu v názvu proměnné to není chyba. Dostanete undefined, stejně jako u indexu, na kterém v poli žádný prvek není:
const kniha = { nazev: "Hobit", autor: "J. R. R. Tolkien", pocetStran: 310 };
console.log(kniha.rokVydani);
console.log(kniha.Nazev);undefined
undefinedKniha nemá vlastnost rokVydani. A Nazev není totéž co nazev: stejně jako u názvů proměnných záleží i u klíčů na velkých a malých písmenech. Když tedy uvidíte undefined, které jste nečekali, zkontrolujte, jak jste klíč napsali.
Ještě jedna chyba: klíč za tečkou se píše bez uvozovek. kniha."nazev" skončí chybou SyntaxError: Unexpected string (nečekaný text).
Jak psát:
Pokyny
Program vypisuje undefined. Opravte klíč v console.log tak, aby se vypsal název knihy, Hobit.
Pod to vypište větu Hobit má 310 stran. Název a počet stran nepište ručně, ale přečtěte je z objektu pomocí kniha.nazev a kniha.pocetStran, třeba v šablonovém řetězci.
Začněte programovat zdarma
2/9