Maison > interface Web > js tutoriel > Comment puis-je utiliser des variables comme clés d'objet dans les littéraux d'objet JavaScript ?

Comment puis-je utiliser des variables comme clés d'objet dans les littéraux d'objet JavaScript ?

Susan Sarandon
Libérer: 2024-12-27 01:36:10
original
934 Les gens l'ont consulté

How Can I Use Variables as Object Keys in JavaScript Object Literals?

Utilisation de variables comme clés d'objet dans les littéraux JavaScript

En JavaScript, il est possible de définir des littéraux d'objet à l'aide de paires clé-valeur. Cependant, lorsque vous tentez d'utiliser une variable comme clé, certaines limitations existent.

Considérez l'extrait de code suivant :

<something>.stop().animate({ 'top' : 10 }, 10);
Copier après la connexion

Ce code met à jour avec succès la propriété CSS "top" d'un élément . Cependant, lorsque vous essayez d'utiliser une variable à la place :

var thetop = 'top';
<something>.stop().animate({ thetop : 10 }, 10);
Copier après la connexion

le code échoue. La raison en est que les littéraux d'objet nécessitent que les clés soient placées entre guillemets simples ou doubles, contrairement aux noms de variables.

ES5 et versions antérieures :

Dans ES5 et versions antérieures de JavaScript, il n'existe pas de moyen simple d'utiliser directement des variables comme clés d'objet. Une solution de contournement consiste à créer un littéral d'objet vide, puis à attribuer la variable à la clé souhaitée :

var thetop = "top";

// Create the object literal
var aniArgs = {};

// Assign the variable property name with a value of 10
aniArgs[thetop] = 10; 

// Pass the resulting object to the animate method
<something>.stop().animate(
    aniArgs, 10  
);  
Copier après la connexion

ES6 et versions ultérieures :

ES6 introduit la syntaxe ComputedPropertyName, qui permet d'utiliser des expressions variables comme clés d'objet :

var thetop = "top",
    obj = { [thetop]: 10 };

console.log(obj.top); // -> 10
Copier après la connexion

Cette syntaxe permet un code plus propre et plus concis, notamment lorsqu'il s'agit de clés d'objet dynamiques. Il est pris en charge dans les versions modernes de tous les principaux navigateurs.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal