javascript – 使用动态属性名称创建对象

前端之家收集整理的这篇文章主要介绍了javascript – 使用动态属性名称创建对象前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Is it possible to add dynamically named properties to JavaScript object?14个
我想这样做:
var KEYS = {} ;

KEYS.PHONE_TYPE = 'phone-type';
KEYS.AGENT_TYPE = 'agent-type';

var myAppConfig = {
    ...
    iconMap : { 
        KEYS.PHONE_TYPE : 'icon-phone',KEYS.AGENT_TYPE : 'icon-headphones'
    };
    ...
};

但它失败了,有一条信息:预期’:’而是看到’.’.

如何使用间接(非文字)键名初始化对象?

要清楚,我想要的结果是:

{
    'phone-type' : 'icon-phone','agent-type' : 'icon-headphones'
}

解决方法

您必须使用括号表示法分别添加这些属性
var myAppConfig = {
    ...
    iconMap : { }
    ...
};

myAppConfig.iconMap[ KEYS.PHONE_TYPE ] = 'icon-phone';
myAppConfig.iconMap[ KEYS.AGENT_TYPE ] = 'icon-headphones';

猜你在找的JavaScript相关文章