首页 >web前端 >js教程 >我可以在 JavaScript 中使用变量作为对象属性名称吗?

我可以在 JavaScript 中使用变量作为对象属性名称吗?

Susan Sarandon
Susan Sarandon原创
2024-12-25 10:05:11644浏览

Can I Use Variables as Object Property Names in JavaScript?

如何在 JavaScript 中动态定义对象属性名称

JavaScript 对象文字可以方便地定义键值对的集合,其中键代表属性名称,值代表属性值。然而,出现了一个常见的问题:我们可以使用变量作为对象字面量中的键吗?

这个问题的答案取决于 JavaScript 版本。在 ES5 及更早版本中,直接使用变量作为对象文本中的键是行不通的。例如:

var thetop = 'top';
something.stop().animate({ thetop: 10 }, 10); // Doesn't work

这是因为在 ES5 中,对象属性名称必须用双引号或单引号括起来。

ES5 及更早版本的解决方案

在 ES5 中使用变量作为键,需要创建一个对象字面量,并使用变量名作为属性手动分配属性值key:

var aniArgs = {};
aniArgs[thetop] = 10; // Assign value to property using variable name as key
something.stop().animate(aniArgs, 10); // Pass the object literal to the animate method

ES6 计算属性名称

ES6 引入了 ComputedPropertyName 的概念,它允许使用变量和表达式作为对象字面量内的属性名称。此语法如下所示:

const obj = { [variableOrExpression]: value };

使用此语法,您可以使用变量动态定义属性名称,例如:

var thetop = 'top';
const obj = { [thetop]: 10 };
console.log(obj.top); // Prints 10

现代浏览器支持此语法,可以简化动态定义对象属性名称的过程。

以上是我可以在 JavaScript 中使用变量作为对象属性名称吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn