1

私は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'
  },

上記は明らかにエラーですが、それを機能させる方法はありますか?

4

3 に答える 3

3

あなたはこれを行うことができます。

RequestDate: {
    [App.Back]: 'previous_activity_date',
    [App.Forward]: 'next_activity_date'
  }
于 2016-01-26T14:34:25.037 に答える
2

短い答え:いいえ。オブジェクト リテラルでは、リテラル キーのみを使用できます。定数を使用する場合は、独自のソリューションが最適です。

http://bclary.com/2004/11/07/

11.1.5 オブジェクト初期化子

オブジェクト初期化子は、オブジェクトの初期化を記述する式であり、リテラルに似た形式で記述されます。これは、中括弧で囲まれた、プロパティ名と関連する値の 0 個以上のペアのリストです。値はリテラルである必要はありません。これらは、オブジェクト初期化子が評価されるたびに評価されます。

于 2012-06-14T08:46:25.580 に答える
1

お気づきのとおり、次のように記述できます。

RequestDate = {};
RequestDate[App.Back] = 'previous_activity_date';
RequestDate[App.Forward] = 'next_activity_date';

ただし、JavaScript 構文では、JSON 表記の : の前に式を使用できません。

于 2012-06-14T08:42:06.760 に答える