Objekty JavaScriptu
V JavaScriptu jsou objekty králem. Pokud rozumíte objektům, rozumíte JavaScriptu.
V JavaScriptu je téměř „všechno“ objekt.
- Booleany mohou být objekty (pokud jsou definovány pomocí
new
klíčového slova) - Čísla mohou být objekty (pokud jsou definovány pomocí
new
klíčového slova) - Řetězce mohou být objekty (pokud jsou definovány pomocí
new
klíčového slova) - Data jsou vždy objekty
- Matematika jsou vždy předměty
- Regulární výrazy jsou vždy objekty
- Pole jsou vždy objekty
- Funkce jsou vždy objekty
- Předměty jsou vždy předměty
Všechny hodnoty JavaScriptu, kromě primitiv, jsou objekty.
JavaScript Primitives
Primitivní hodnota je hodnota, která nemá žádné vlastnosti ani metody.
Primitivní datový typ jsou data, která mají primitivní hodnotu.
JavaScript definuje 5 typů primitivních datových typů:
string
number
boolean
null
undefined
Primitivní hodnoty jsou neměnné (jsou pevně zakódovány, a proto je nelze změnit).
pokud x = 3,14, můžete změnit hodnotu x. Ale nemůžete změnit hodnotu 3,14.
Hodnota | Typ | Komentář |
---|---|---|
"Ahoj" | tětiva | "Ahoj" je vždy "Ahoj" |
3.14 | číslo | 3.14 je vždy 3.14 |
skutečný | booleovský | pravda je vždy pravda |
Nepravdivé | booleovský | nepravda je vždy nepravda |
nula | null (objekt) | null je vždy null |
nedefinováno | nedefinováno | undefined je vždy nedefinováno |
Objekty jsou proměnné
Proměnné JavaScriptu mohou obsahovat jednu hodnotu:
Příklad
let person = "John Doe";
Proměnné JavaScriptu mohou také obsahovat mnoho hodnot.
Objekty jsou také proměnné. Ale objekty mohou obsahovat mnoho hodnot.
Hodnoty objektů se zapisují jako dvojice název : hodnota (název a hodnota oddělené dvojtečkou).
Příklad
let person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Objekt JavaScriptu je kolekce pojmenovaných hodnot
Je běžnou praxí deklarovat objekty pomocí const
klíčového slova.
Příklad
const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Vlastnosti objektu
Pojmenované hodnoty se v objektech JavaScriptu nazývají vlastnosti .
Vlastnictví | Hodnota |
---|---|
jméno | John |
příjmení | Srna |
stáří | 50 |
barva očí | modrý |
Objekty zapsané jako dvojice jmen a hodnot jsou podobné:
- Asociativní pole v PHP
- Slovníky v Pythonu
- Hashovací tabulky v C
- Hash mapy v Javě
- Hashe v Ruby a Perlu
Objektové metody
Metody jsou akce , které lze provádět s objekty.
Vlastnosti objektu mohou být jak primitivní hodnoty, tak jiné objekty a funkce.
Metoda objektu je vlastnost objektu obsahující definici funkce .
Vlastnictví | Hodnota |
---|---|
jméno | John |
příjmení | Srna |
stáří | 50 |
barva očí | modrý |
celé jméno | function() {return this.firstName + " " + this.lastName;} |
Objekty JavaScriptu jsou kontejnery pro pojmenované hodnoty, nazývané vlastnosti a metody.
Více o metodách se dozvíte v dalších kapitolách.
Vytvoření objektu JavaScript
Pomocí JavaScriptu můžete definovat a vytvářet své vlastní objekty.
Existují různé způsoby, jak vytvořit nové objekty:
- Vytvořte jeden objekt pomocí objektového literálu.
- Vytvořte jeden objekt s klíčovým slovem
new
. - Definujte konstruktor objektu a poté vytvořte objekty vytvořeného typu.
- Vytvořte objekt pomocí
Object.create()
.
Použití objektového literálu
Toto je nejjednodušší způsob, jak vytvořit objekt JavaScript.
Pomocí objektového literálu definujete a vytváříte objekt v jednom příkazu.
Objektový literál je seznam párů jméno:hodnota (např. věk:50) ve složených závorkách {}.
Následující příklad vytvoří nový objekt JavaScript se čtyřmi vlastnostmi:
Příklad
const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Mezery a zalomení řádků nejsou důležité. Definice objektu může zahrnovat více řádků:
Příklad
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
Tento příklad vytvoří prázdný objekt JavaScript a poté přidá 4 vlastnosti:
Příklad
const person = {};
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";
Použití klíčového slova JavaScriptu nové
Následující příklad vytvoří nový objekt JavaScript pomocí new Object()
a poté přidá 4 vlastnosti:
Příklad
const person = new Object();
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";
Výše uvedené příklady dělají přesně totéž.
Ale není potřeba používat new Object()
.
Pro čitelnost, jednoduchost a rychlost provádění použijte metodu objektového literálu.
Objekty JavaScriptu jsou proměnlivé
Objekty jsou proměnlivé: Jsou adresovány odkazem, nikoli hodnotou.
Pokud je osoba objekt, následující prohlášení nevytvoří kopii osoby:
const x = person; // Will not create a copy of person.
Objekt x není kopií osoby. Je to osoba. X i osoba jsou stejný objekt.
Jakékoli změny x změní také osobu, protože x a osoba jsou stejný objekt.
Příklad
const person = {
firstName:"John",
lastName:"Doe",
age:50, eyeColor:"blue"
}
const x = person;
x.age = 10; // Will change both x.age and person.age