Apprenez quand utiliser la notation point et parenthèse en JavaScript.
.
On peut accéder à la propriété d’un objet par
- Notation point
- Notation crochet
C’est la manière la plus populaire et la plus utilisée d’accéder à la propriété d’un objet. Cela permet de rendre le code plus lisible. La notation par points est utilisée le plus fréquemment.
Syntaxe : obj.property_name
var user = {name : "Mark"};user.name ; // "Mark"
Quand ne pas utiliser la notation dot
Considérons que nous avons un nom de propriété comme 123
var obj = {
'123' : 123
};
Dans le cas ci-dessus si nous ne pouvons pas accéder en utilisant
obj.123;
So, Si le nom de la propriété n’est pas un identifier
valide, alors nous ne pouvons pas accéder à sa valeur en utilisant la notation .
.
Qu’est-ce qu’un identifiant ?
Un identifiant est une séquence de caractères dans le code qui identifie un
variable
,function
ouproperty
. Généralement le nom d’une fonction ou d’une variable ou le nom d’une propriété d’un objet
Qu’est-ce qu’un identifiant valide ?
Dans ce cas, nous pouvons utiliser la notation entre crochets
var obj = {
'123' : 123
};obj; // 123
Note
En JavaScript $
, et _
sont des identifiants valides. nous pouvons donc accéder à ces propriétés en utilisant la notation .
.
var obj = {
$ : 10,
_ : 20
}obj.$; // 10obj._; // 20
Notation entre crochets
La notation entre crochets est utilisée lorsque le nom de la propriété est un identifiant invalide(commence par un nombre, contient des symboles).
var obj = {
test-123 : "test"
}// in this case we cannot use dot notationobj; // "test"
Si le nom de la propriété est number
alors nous n’avons pas besoin d’envelopper le nom de la propriété à l’intérieur de single /double quotes
dans la création de l’objet. Mais en notation entre parenthèses, si le nom de la propriété est whole number
, alors nous n’avons pas besoin d’envelopper le nom à l’intérieur de single /double quotes
. Mais si le nom de la propriété est double
, alors il faut envelopper le nom de la propriété à l’intérieur de single /double quotes
.
Exemple 1 : nombre entier
var obj = {
123456 : 10
}obj;
Exemple 2 : Double
var obj = {
123.456 : 10
}obj; // undefinedobj; // 10
Exemple 3 : utilisation d’un nombre non valide
var obj = {
123.123.123 : 10 // throws invalid number error
}For this case use single/double quotesvar obj = {
'123.123.123' : 10
}
Exemple 4 : utilisation de symboles spéciaux
var obj = {
'123-test' : "test"
}obj; // error(test is not defined)obj; // "test"
Utilisation d’une variable comme nom de propriété
Exemple 1 :
var test = "test";var obj = {
test : "Test success"
}obj // "Test success"
Exemple 2 :
var obj = {
name : "Mark"
age : 20
}var name = "age";obj; // Mark
obj; // 20
Exemple 3 : Exemple réel d’utilisation de la notation entre parenthèses
On peut aussi utiliser object comme nom de propriété, mais cela sera converti en
var a = {};var b = {};var c = {};c = 10;c ; {: 10}c = 20; // this will replace old c; {: 20}
On peut aussi avoir empty string
comme nom de propriété
var obj= {};var emptyString = "";obj = "10";obj; // 10
.