我知道我可以在JavaScript中执行此操作:
RequestDate: {
'0' : 'previous_activity_date',
'1': 'next_activity_date'
}
我可以这样做:
this.RequestDate = {};
this.RequestDate[App.FORWARD] = 'next_activity_date';
this.RequestDate[App.BACK] = 'previous_activity_date';
有没有办法做以下工作:
RequestDate: {
App.Back : 'previous_activity_date',
App.Forward: 'next_activity_date'
},
以上明显的错误,是否有办法让它发挥作用?
答案 0 :(得分:3)
你可以这样做。
RequestDate: {
[App.Back]: 'previous_activity_date',
[App.Forward]: 'next_activity_date'
}
答案 1 :(得分:2)
简答:不。您只能在对象文字中使用文字键。如果你想使用常量,你自己的解决方案是最好的。
11.1.5对象初始化
对象初始化器是一个描述对象初始化的表达式,以类似于文字的形式编写。它是零个或多个属性名称和关联值对的列表,用大括号括起来。价值观不一定是文字;每次评估对象初始化程序时都会对它们进行评估。
答案 2 :(得分:1)
正如您所注意到的,您可以写下:
RequestDate = {};
RequestDate[App.Back] = 'previous_activity_date';
RequestDate[App.Forward] = 'next_activity_date';
但是javascript语法不允许在JSON表示法之前使用表达式。