Naučte se, kdy v JavaScriptu používat zápis tečka a kdy závorka.
K vlastnosti objektu můžeme přistupovat pomocí
- Dot notace
- Bracket notace
Jedná se o nejoblíbenější a nejpoužívanější způsob přístupu k vlastnosti objektu. Díky tomu je kód čitelnější. Nejčastěji se používá bodová notace
Syntaxe: obj.property_name
var user = {name : "Mark"};user.name ; // "Mark"
Kdy nepoužívat dot
notaci
Považte, že máme název vlastnosti jako 123
var obj = {
'123' : 123
};
V uvedeném případě, pokud nemůžeme přistupovat pomocí
obj.123;
Takže, pokud název vlastnosti není platný identifier
, pak nemůžeme přistupovat k její hodnotě pomocí .
notace.
Co je to identifikátor
Identifikátor je posloupnost znaků v kódu, která identifikuje
variable
,function
neboproperty
. Obecně název funkce nebo proměnné nebo název vlastnosti objektu
Co je platný identifikátor?
V tomto případě můžeme použít zápis v závorkách
var obj = {
'123' : 123
};obj; // 123
Poznámka
V jazyce JavaScript jsou platnými identifikátory $
, a _
. takže k těmto vlastnostem můžeme přistupovat pomocí zápisu .
.
var obj = {
$ : 10,
_ : 20
}obj.$; // 10obj._; // 20
Závorkový zápis
Závorkový zápis se používá v případě, že název vlastnosti je neplatný identifikátor (začíná číslem, obsahuje symboly).
var obj = {
test-123 : "test"
}// in this case we cannot use dot notationobj; // "test"
Pokud je název vlastnosti number
, nemusíme při vytváření objektu obalovat název vlastnosti uvnitř single /double quotes
. Ale v zápisu v závorkách, pokud je název vlastnosti whole number
, pak nemusíme obalovat název uvnitř single /double quotes
. Ale pokud je název vlastnosti double
, pak je třeba název vlastnosti obalit uvnitř single /double quotes
.
Příklad 1: celé číslo
var obj = {
123456 : 10
}obj;
Příklad 2: Dvojnásobek
var obj = {
123.456 : 10
}obj; // undefinedobj; // 10
Příklad 3: použití neplatného čísla
var obj = {
123.123.123 : 10 // throws invalid number error
}For this case use single/double quotesvar obj = {
'123.123.123' : 10
}
Příklad 4: použití speciálních symbolů
var obj = {
'123-test' : "test"
}obj; // error(test is not defined)obj; // "test"
Použití proměnné jako názvu vlastnosti
Příklad 1:
var test = "test";var obj = {
test : "Test success"
}obj // "Test success"
Příklad 2 :
var obj = {
name : "Mark"
age : 20
}var name = "age";obj; // Mark
obj; // 20
Příklad 3: Reálný příklad použití zápisu v závorkách
Můžeme také použít jako název vlastnosti objekt, ale ten bude převeden na
var a = {};var b = {};var c = {};c = 10;c ; {: 10}c = 20; // this will replace old c; {: 20}
Můžeme mít také empty string
jako název vlastnosti
var obj= {};var emptyString = "";obj = "10";obj; // 10
.