Il existe deux notations différentes pour accéder aux propriétés des objets
- Dot notation: myObj.prop1
- Support notation: myObj [ "prop1"]
La notation par points est rapide et facile, mais vous devez utiliser explicitement le nom réel de la propriété. Pas de substitution, de variables, etc.
La notation entre parenthèses est ouverte. Il utilise une chaîne mais vous pouvez produire la chaîne en utilisant n'importe quel code js légal. Vous pouvez spécifier la chaîne comme littérale (bien que dans ce cas la notation par points serait plus facile à lire) ou utiliser une variable ou calculer d'une manière ou d'une autre.
Ainsi, ceux - ci configurent le myObj propriété nommée prop1 à la valeur Bonjour :
// quick easy-on-the-eye dot notation
myObj.prop1 = "Hello";
// brackets+literal
myObj["prop1"] = "Hello";
// using a variable
var x = "prop1";
myObj[x] = "Hello";
// calculate the accessor string in some weird way
var numList = [0,1,2];
myObj[ "prop" + numList[1] ] = "Hello";
Pièges:
myObj.[xxxx] = "Hello"; // wrong: mixed notations, syntax fail
myObj[prop1] = "Hello"; // wrong: this expects a variable called prop1
tl; dnr : Si vous voulez calculer ou référencer la clé, vous devez utiliser la notation entre crochets . Si vous utilisez explicitement la clé, utilisez la notation par points pour un code clair simple.
Remarque: il existe d'autres bonnes et bonnes réponses, mais personnellement, je les ai trouvées un peu brèves en raison d'une faible connaissance de la bizarrerie à la volée de JS. Cela pourrait être utile à certaines personnes.