Cookies

Na naší webové stránce používáme soubory cookies pro její správné fungování, přizpůsobení analytických dat a dynamiky obsahu pro uživatele. Více informací o cookies.

Potvrzením zároveň ukládáte souhlas se zpracováním osobních údajů v rámci nařízení GDPR.

JavaScript objekty

Objekty v JavaScriptu
Předchozí Následující

#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.

Poznámka: Jedná se tedy o jakýsi „kontejner“, který má vlastnosti a dokáže (nějak) fungovat.

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;
 }
}
Poznámka: Metoda je funkce uložená jako vlastnost.

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“