Impara quando usare la notazione punto e parentesi in JavaScript.
Possiamo accedere alla proprietà di un oggetto con
- notazione Dot
- notazione Bracket
Questo è il modo più popolare e più usato per accedere alla proprietà di un oggetto. Questo rende il codice più leggibile. La notazione a punti è usata più frequentemente.
Sintassi: obj.property_name
var user = {name : "Mark"};user.name ; // "Mark"
Quando non usare la notazione dot
Considera che stiamo avendo un nome di proprietà come 123
var obj = {
'123' : 123
};
Nel caso precedente se non possiamo accedere usando
obj.123;
Quindi, se il nome della proprietà non è un valido identifier
, allora non possiamo accedere al suo valore usando la notazione .
.
Cos’è un identificatore?
Un identificatore è una sequenza di caratteri nel codice che identifica un
variable
,function
, oproperty
. Generalmente il nome della funzione o della variabile o il nome della proprietà dell’oggetto
Cos’è un identificatore valido?
In questo caso, possiamo usare la notazione a parentesi graffa
var obj = {
'123' : 123
};obj; // 123
Nota
In JavaScript $
, e _
sono identificatori validi. quindi possiamo accedere a queste proprietà usando la notazione .
.
var obj = {
$ : 10,
_ : 20
}obj.$; // 10obj._; // 20
Notazione a parentesi
La notazione a parentesi è usata quando il nome della proprietà è un identificatore non valido (inizia con un numero, contiene simboli).
var obj = {
test-123 : "test"
}// in this case we cannot use dot notationobj; // "test"
Se il nome della proprietà è number
allora non abbiamo bisogno di avvolgere il nome della proprietà dentro single /double quotes
nella creazione dell’oggetto. Ma nella notazione a parentesi, se il nome della proprietà è whole number
, allora non abbiamo bisogno di avvolgere il nome dentro single /double quotes
. Ma se il nome della proprietà è double
, allora abbiamo bisogno di avvolgere il nome della proprietà dentro single /double quotes
.
Esempio 1: numero intero
var obj = {
123456 : 10
}obj;
Esempio 2: Double
var obj = {
123.456 : 10
}obj; // undefinedobj; // 10
Esempio 3: Usare un numero non valido
var obj = {
123.123.123 : 10 // throws invalid number error
}For this case use single/double quotesvar obj = {
'123.123.123' : 10
}
Esempio 4: Usare simboli speciali
var obj = {
'123-test' : "test"
}obj; // error(test is not defined)obj; // "test"
Utilizzare una variabile come nome della proprietÃ
Esempio 1:
var test = "test";var obj = {
test : "Test success"
}obj // "Test success"
Esempio 2 :
var obj = {
name : "Mark"
age : 20
}var name = "age";obj; // Mark
obj; // 20
Esempio 3: Esempio del mondo reale di utilizzo della notazione a parentesi graffa
Possiamo anche usare object come nome di proprietà , ma questo sarà convertito in
var a = {};var b = {};var c = {};c = 10;c ; {: 10}c = 20; // this will replace old c; {: 20}
Possiamo anche avere empty string
come nome di proprietÃ
var obj= {};var emptyString = "";obj = "10";obj; // 10