Lær, hvornår du skal bruge punkt- og parentesnotation i JavaScript.
Vi kan få adgang til et objekts egenskab ved hjælp af
- Dot notation
- Bracket notation
Dette er den mest populære og mest anvendte måde at få adgang til et objekts egenskab på. Dette gør koden mere læsevenlig. Punktnotation bruges oftest.
Syntaks: obj.property_name
var user = {name : "Mark"};user.name ; // "Mark"
Hvornår skal man ikke bruge dot
notation
Og vi har et egenskabsnavn som 123
var obj = {
'123' : 123
};
I ovenstående tilfælde, hvis vi ikke kan få adgang ved hjælp af
obj.123;
Så, hvis egenskabsnavnet ikke er et gyldigt identifier
, kan vi ikke få adgang til dets værdi ved hjælp af .
notation.
Hvad er en identifikator?
En identifikator er en sekvens af tegn i koden, der identificerer en
variable
,function
ellerproperty
. Generelt navn på funktion eller variabel eller egenskabsnavn på Object
Hvad er en gyldig Identifier?
I dette tilfælde kan vi bruge parentesnotation
var obj = {
'123' : 123
};obj; // 123
Note
I JavaScript er $
, og _
gyldige Identifikatorer. så vi kan få adgang til disse egenskaber ved hjælp af .
-notationen.
var obj = {
$ : 10,
_ : 20
}obj.$; // 10obj._; // 20
Klammernotation
Klammernotationen bruges, når egenskabsnavnet er en ugyldig identifikator(starter med et tal, indeholder symboler).
var obj = {
test-123 : "test"
}// in this case we cannot use dot notationobj; // "test"
Hvis egenskabsnavnet er number
, behøver vi ikke at pakke egenskabsnavnet ind i single /double quotes
ved objektoprettelse. Men i parentesnotationen, hvis egenskabsnavnet er whole number
, behøver vi ikke at omvikle navnet inden for single /double quotes
. Men hvis egenskabsnavnet er double
, er det nødvendigt at ombryde egenskabsnavnet inden for single /double quotes
.
Eksempel 1: helt tal
var obj = {
123456 : 10
}obj;
Eksempel 2: Dobbelt
var obj = {
123.456 : 10
}obj; // undefinedobj; // 10
Exempel 3: Brug af et ugyldigt 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: Brug af specielle symboler
var obj = {
'123-test' : "test"
}obj; // error(test is not defined)obj; // "test"
Anvendelse af variabel som egenskabsnavn
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: Eksempel fra den virkelige verden på brug af parentesnotation
Vi kan også bruge object som egenskabsnavn, men det vil blive konverteret til
var a = {};var b = {};var c = {};c = 10;c ; {: 10}c = 20; // this will replace old c; {: 20}
Vi kan også have empty string
som egenskabsnavn
var obj= {};var emptyString = "";obj = "10";obj; // 10