#1 Objekt
Podobně jako v reálném životě, i v programování může být něco objektem. Daný objekt má vždycky vlastnosti a metody. Pro příklad si můžeme vzít na porovnání počítač – má vlastnosti, jako je hmotnost a barva…, a má také metody (schopnosti či funkce), například zapnutí, vypnutí, upravení jasu atd.
Vlastnosti
Vlastnosti objektu jsou data, která má daný objekt uchován. Jedná se o „proměnné“, ale vlastnosti, narozdíl od proměnných, jsou přiřazeny k danému objektu a patří pouze jemu.
Metody
Nebo-li funkce či schopnosti, jsou činnosti, které dokáže daný objekt vykonávat. Metody, stejně jako klasické funkce, mohou mít parametry a mohou také vracet nějakou hodnotu. Od normálních funkcí se však liší tím, že metody patří přímo objektu, funkce nepatří nikam, jsou globální.
#2 Vytvoření objektu
Objekt se v JavaScriptu vytváří podobně jako proměnná – nejdříve je použit typ (nejčastěji const, jelikož se objekt nemění), název a přiřazovací operátor. Zde se odlišuje objekt od proměnné – u proměnné by se po operátoru nacházela hodnota, u objektu však přidáváme složené závorky {} a do nich vkladáme data pomocí syntaxe nazev: hodnota, kde hodnota je vlastnost nebo metoda. Například takto:
const clovek = {
jmeno: "Petr",
prijmeni: "Novák",
vek: 35
}
// Lze zapsat i na jeden řádek
const clovek = { jmeno: "Petr", prijmeni: "Novák", vek: 35 }
Teď máme nadefinovaný objekt s názvem clovek, který má v sobě vlastnosti jmeno, prijmeni a vek, a každá vlastnost má přiřazenou hodnotu.
Pokud chceme objektu definovat i metodu (funkci), učiníme takto:
const clovek = {
jmeno: "Petr",
prijmeni: "Novák",
vek: 35,
celeJmeno: function () {
return this.jmeno + " " + this.prijmeni;
}
}
Teď má objekt i vlastnost celeJmeno, která se skládá z vlastnosti jmeno a vlastnosti prijmeni.
Klíčové slovo this
Klíčové slovo this označuje objekt, který je právě volán » označuje „vlastníka“ funkce. V našem objektu clovek tak označuje slovo this právě tento objekt – jinými slovy, this.jmeno označuje vlastnost jmeno objektu clovek.
O this se dozvíte více v dalším článku.
#3 Přístup k datům v objektu
K datům v jakémkoliv objektu se dá přistoupit pomocí těchto dvou syntaxí (pro vlastnost a pro metodu):
// Přístup k vlastnosti
nazevObjektu.nazevVlastnosti;
// Přístup k metodě
nazevObjektu.nazevMetody();
Lze to využít například takto:
const clovek = {
jmeno: "Petr",
prijmeni: "Novák",
vek: 35,
celeJmeno: function () {
return this.jmeno + " " + this.prijmeni;
}
}
console.log(clovek.celeJmeno());
// Výstupem je „Petr Novák“
console.log(clovek.vek);
// Výstupem je „35“