En JavaScript, lors de la construction d'objets, vous pouvez rencontrer une situation dans laquelle vous souhaitez définir dynamiquement la valeur de la clé à l'aide d'une variable. Cependant, en suivant simplement la syntaxe courante d'initialisation des objets, vous remarquerez que la clé est définie sur le nom de la variable plutôt que sur la valeur souhaitée.
L'extrait de code suivant illustre le problème :
var key = "happyCount"; myArray.push({ key: someValueArray });
L'inspection de myArray après cette opération révèle que la clé de chaque objet est "clé" au lieu de la valeur prévue stockée dans la clé variable.
Pour résoudre ce problème, créez l'objet avant de définir la clé en utilisant la notation entre crochets []. Cette syntaxe vous permet de définir dynamiquement la valeur de la clé à partir d'une variable.
var key = "happyCount"; var obj = {}; obj[key] = someValueArray; myArray.push(obj);
Maintenant, l'objet créé aura la clé définie sur la valeur de la variable clé.
ECMAScript 2015 (ES6) a introduit les noms de propriétés calculés, une fonctionnalité qui permet encore plus de flexibilité dans la définition des clés d'objet dynamiquement. Cette syntaxe utilise des crochets [] pour entourer le nom de la propriété, qui peut être n'importe quelle expression JavaScript valide.
const yourKeyVariable = "happyCount"; const someValueArray = [...]; const obj = { [yourKeyVariable]: someValueArray, };
Ce code obtient le même résultat que la solution précédente mais utilise la syntaxe des noms de propriété calculés, qui est plus concis et expressif.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!