Č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
310

Teč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
undefined

Kniha 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).

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

Registrací souhlasíte s provozními podmínkami a zásadami ochrany osobních údajů.

Nebo se registrujte pomocí:

2/9