
Objekty
Všechny neprimitivní datové typy jsou objekty. Nejběžnějšími typy objektů jsou:
Prostý objekt (plain object), který může být vytvořen násludujícím způsobem:
{
firstName: 'Jane',
lastName: 'Doe'
}
Vytvořený objekt má dvě vlastnosti. Hodnota vlastnosti firstName je 'Jane' a hodnota vlastnosti lastName je 'Doe'.
Pole (array), které může být vytvořeno následujícím způsobem:
[ 'apple', 'banana', 'cherry' ]
Vytvořené pole má tři elementy, ke kterým lze přistupovat pomocí číselných indexů. Například index prvku 'apple' je 0.
Regulární výraz (Regular expression) lze vytvořit následujícím způsobem:
/^a+b+$/
Objekty mají následující vlastnosti:
Porovnání podle odkazu (reference)
Porovnávají se identity objektů, každá hodnota má svou vlastní identitu:
> {} === {} // dva různé prázdné objekty
false
> var obj1 = {};
> var obj2 = obj1;
> obj1 === obj2
true
Objekty se mohou libovolně měnit
Můžete volně měnit, přidávat či odebírat vlastnosti:
> var obj = {};
> obj.foo = 123; // přidáme vlastnost `foo`
> obj.foo
123
Příklad
Nadefinujte objekt, který bude popisovat osobu.
Řešení
function osoba(jmeno, vek, pohlavi) {
this.jmeno = jmeno
this.vek = vek
this.pohlavi = pohlavi
}
// vytvoření osob
var martin = new osoba("Martin Novak", 33, "M");
var jana = new osoba("Jana Novakova", 34, "Z");