Я пытаюсь собрать маршрутизатор регулярных выражений, который включает произвольное количество слизней и значений ключа.Конкатенация строки внутри определения объекта javascript
Я делаю это, создавая объект шаблонов и их соответствующие модули и затем сопоставляя регулярное выражение с модулем.
Но JavaScript выдает сообщение об ошибке, когда я использую оператор «+», чтобы объединить строки внутри определения объекта.
// URI PATTERNS
var SLUG ='\/[a-z|A-Z|0-9|-]+)([\/]{0,1})?';
var KEYS ='\/?(\?.*)?$/';
// ROUTES
var routes = {
'\/public\/images' + KEYS : 'images', /* <-- ERROR: '+' Unexpected token */
'\/public\/other' + SLUG + KEYS : 'something-else',
};
Почему эта ошибка возникает и как я могу объединить эти значения за пределами хранения их в отдельных переменных?
Объект должен иметь ** название свойства ** и присвоенное ему значение. Вы можете получить доступ к значению в объекте по его свойству. Это то, что вам не хватает –
. Имена свойств должны быть объединенными строками, а значениями будут модули (изображения и т. Д.) – yevg
О, я .. Я упустил это. Вам просто нужно использовать '[]' для добавления значений свойств. Подобно простому маршруту, равному объекту, например 'routes = {}', вы можете сделать «маршруты [ваша логика конкатенации] =« изображения »;' –