Vysvětlíme si, co je to objekt, jak v JavaScriptu vypadá a jak se s ním pracuje.
Podklady pro tuto lekci si stáhni zde. Stažený ZIP rozbal u sebe na počítači a složku otevři v editoru VS Code.
Objekt
Objekt (anglicky object) je datová struktura skládající se z dvojic klíčů a hodnot (key-value pair), kterým říkáme vlastnosti (properties), pokud mají již přiřazenou hodnotu, nebo metody (methods), pokud obsahují funkce. Pomocí klíčů můžeme k jednotlivým vlastnostem a metodám objektu přistupovat, volat, měnit je nebo i přidávat nové.
K vytvoření objektu potřebujeme složené závorky {} a jednotlivé vlastnosti a metody oddělujeme čárkou jako v poli. Hodnotu vlastnosti nebo funkci metodě přiřazujeme pomocí dvojtečky :, na rozdíl od proměnných, do kterých přiřazujeme pomocí rovná se =.
// Vytvoření prázdného objektu
let honza = {};
Vlastnosti (Properties)
Vlastnosti objektů si můžeme představit jako proměnné patřící právě danému objektu. Mohou obsahovat hodnoty všech datových typů (čísla, textové řetězce, pravdivostní hodnoty) i další datové struktury (pole, další objekt).
// Objekt s několika vlastnostmi
let honza = {
jmeno: "Jan",
zamestnani: "Front-end developer",
zenaty: true,
syn: {
jmeno: "Tomáš",
rokNarozeni: "2013",
zaliby: ["spánek", "stavebnice", "kreslení"]
}
};
Metody (methods)
Metody vnímáme jako funkce jednotlivých objektů. Je důležité mít na mysli, že pokud chceme v metodě využít některou z vlastností objektu, musíme použít slovo this, které ukazuje na daný objekt a říká, že chceme jeho vlastnost.
let honza = {
jmeno: "Jan",
pozdrav: function() {
console.log("Ahoj, já se jmenuji " + this.jmeno)
}
};
honza.pozdrav()
// Vypíše do konzole "Ahoj, já se jmenuji Jan"
Kontrolní otázky
- Podle čeho rozlišujeme vlastnost a metodu u objektu?
- Pomocí jakého znaménka přiřazujeme hodnoty vlastnostem objektu?
- Pomocí čeho přistupujeme k vlastnostem a metodám objektu?
- Co všechno mohou obsahovat vlastnosti objektu?
- Co potřebuje, abychom mohli v metodě objektu použít vlastnosti daného objektu?