Lär dig när du ska använda punkt- och parentesnotering i JavaScript.

Javascript Jeep🚙💨

Follow

27 nov, 2019 – 3 min read

Dot vs Bracket notation in 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 eller property. 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

.

Lämna ett svar

Din e-postadress kommer inte publiceras.