Во-первых.Это:
var originialString = / user-management / users;
… это просто синтаксические ошибки.
Строковые литералы в JS должны заключаться в кавычки.
Далее:
Символы Escape имеют значение в JavaScript исходный код .
Когда строковый литерал анализируется механизмом JavaScript, этопревратился в строку.Во время этого процесса экранирующие символы используются.
Они вообще не являются частью данных.Если вы вставляете косые черты с регулярными выражениями, то вы просто вставляете косые черты (не escape-последовательности) в строку.
var RouteMetaSet = {
'\/user-management\/users': {
path: '/user-management/users',
name: 'User Management',
iconClassList: ['fa', 'fa-user'],
}
};
var originialString = "/user-management/users";
console.log(RouteMetaSet[originialString]);
В стороне: символ /
не нужно экранировать в строковом литерале JS, если он не является частью последовательности </script>
внутри встроенного скрипта.
Сгенерированный код часто экранирует все символы /
как простой и эффективный способ избежать этой проблемы.
Если имя свойства содержит символы, которые нужно экранировать (например,как \
) тогда, к тому времени, когда строка будет проанализирована, было бы слишком поздно разумно что-либо с этим делать.
var originalString = "Example\t";
Это должно быть табуляцией или это должнобыть \
с последующим t
?
Если вы не можете поверить, что код верен с самого начала, у вас есть проблема.