在编程中,创建具有直到运行时才知道的属性名称的对象可能很有用。本文解决了使用间接(非文字)键名初始化对象的挑战。
传统上,JavaScript 对象是使用固定的文字属性名称初始化的:
var myAppConfig = { iconMap: { "phone-type": "icon-phone", "agent-type": "icon-headphones" } };
但是,在某些场景下,需要动态属性名称。例如,属性名称可能存储在不同的对象中。
如果您使用 ES6 或像 Babel 这样的转译器,则可以使用计算属性名称:
var iconMap = { [KEYS.PHONE_TYPE]: 'icon-phone', [KEYS.AGENT_TYPE]: 'icon-headphones' };
在此语法中,属性名称括在方括号中并作为表达式进行计算。 KEYS.PHONE_TYPE 的值用作第一个键值对的属性名称。
因此,iconMap 对象将使用预期的动态属性名称进行初始化:
{ 'phone-type': 'icon-phone', 'agent-type': 'icon-headphones' }
这种方法允许您在运行时创建具有非文字属性名称的对象,从而提供更大的灵活性和代码适应性。
以上是如何在运行时创建具有动态属性名称的 JavaScript 对象?的详细内容。更多信息请关注PHP中文网其他相关文章!