Lär dig när du ska använda punkt- och parentesnotering i JavaScript.
Vi kan få tillgång till ett objekts egenskap genom
- Dot notation
- Bracket notation
Det här är det mest populära och mest använda sättet att få tillgång till ett objekts egenskap. Det gör koden mer lättläst. Dot notation används oftast.
Syntax: obj.property_name
var user = {name : "Mark"};user.name ; // "Mark"
När man inte använder dot
-notation
Tänk att vi har ett egenskapsnamn som 123
var obj = {
'123' : 123
};
I ovanstående fall om vi inte kan komma åt med hjälp av
obj.123;
Så om egenskapsnamnet inte är ett giltigt identifier
kan vi inte komma åt dess värde med hjälp av .
-notationen.
Vad är en identifierare?
En identifierare är en sekvens av tecken i koden som identifierar en
variable
,function
ellerproperty
. I allmänhet namn på funktion eller variabel eller egenskapsnamn på Object
Vad är en giltig Identifier?
I det här fallet kan vi använda parentes-notation
var obj = {
'123' : 123
};obj; // 123
Note
I JavaScript är $
, och _
giltiga Identifiers. så vi kan få åtkomst till de egenskaperna med hjälp av .
-notationen.
var obj = {
$ : 10,
_ : 20
}obj.$; // 10obj._; // 20
Bracket Notation
Bracket-notationen används när egenskapsnamnet är en ogiltig identifierare(börjar med ett nummer, innehåller symboler).
var obj = {
test-123 : "test"
}// in this case we cannot use dot notationobj; // "test"
Om egenskapsnamnet är number
behöver vi inte linda in egenskapsnamnet i single /double quotes
vid skapandet av objekt. Men i parentesnotering, om egenskapsnamnet är whole number
, behöver vi inte omsluta namnet inom single /double quotes
. Men om egenskapsnamnet är double
, behöver vi omsluta egenskapsnamnet inom single /double quotes
.
Exempel 1: heltal
var obj = {
123456 : 10
}obj;
Exempel 2: Hela tal
var obj = {
123456 : 10
}obj;
Exempel 2: Dubbel
var obj = {
123.456 : 10
}obj; // undefinedobj; // 10
Exempel 3: Användning av ett ogiltigt tal
var obj = {
123.123.123 : 10 // throws invalid number error
}For this case use single/double quotesvar obj = {
'123.123.123' : 10
}
Exempel 4: Användning av specialsymboler
var obj = {
'123-test' : "test"
}obj; // error(test is not defined)obj; // "test"
Användning av variabel som egenskapsnamn
Exempel 1:
var test = "test";var obj = {
test : "Test success"
}obj // "Test success"
Exempel 2 :
var obj = {
name : "Mark"
age : 20
}var name = "age";obj; // Mark
obj; // 20
Exempel 3: Vi kan också använda object som egenskapsnamn, men det omvandlas till
var a = {};var b = {};var c = {};c = 10;c ; {: 10}c = 20; // this will replace old c; {: 20}
Vi kan också ha empty string
som egenskapsnamn
var obj= {};var emptyString = "";obj = "10";obj; // 10
.