У меня есть объект, содержащий некоторые константы моей программы, так что я могу использовать его во всех файлах исходного кода. Объект констант выглядит примерно так:
CONSTANTS = {
THING_TYPE: 'type',
THING_INFORMATION: 'information',
THING_DESCRIPTION: 'description',
THING_NAME: 'name',
manyOtherConstants
}
И я хочу создавать объекты, используя аналогичную нотацию и используя значение констант как свойство объекта; это то, что я пытаюсь сделать:
var myObject = {
CONSTANTS.THING_TYPE: 'whateverType',
CONSTANTS.THING_INFORMATION: {
CONSTANTS.THING_DESCRIPTION: 'whateverDescription',
CONSTANTS.THING_NAME: 'whateverName',
}
}
Проблема в том, что я не могу использовать константы таким образом. Джаваскрипт говорит:
'SyntaxError: missing : after property id'
Есть ли способ сделать то, что я пытаюсь сделать, используя эту нотацию? Или единственное, что я могу сделать, это следующее?
var myObject = {}
myObject[CONSTANTS.THING_TYPE] = 'whateverType';
myObject[CONSTANTS.THING_INFORMATION] = {};
myObject[CONSTANTS.THING_INFORMATION][CONSTANTS.THING_DESCRIPTION] = 'whateverDescription';
myObject[CONSTANTS.THING_INFORMATION][CONSTANTS.THING_NAME] = 'whateverName';
eval
я думаю, вы могли бы создать строку объекта так, как вы хотите (1-й абзац), а затемJSON.parse
ее. - person Sebas   schedule 24.07.2014