const userId = 123;
const userName = 'john'
let url = '/foo/:userId/:userName'
как сгенерировать строку результата, подобную этой /foo/123/john
Похоже, что str.replace (reg, callback) не работает
Проверьте строковые шаблоны с функциями ES6.
@Justinas let userId = 123;let userName = 'bar';let url = '/foo/:userId/:userName'; m = /(:[a-zA-Z]*)/g.exec(url) if (m) { url.replace(/(:[a-zA-Z]*)/, $ {m [1] .substr (1)} Вывод ) }: "/ foo / userId /: userName"



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


replace(reg, callback) определенно работает, наверное, вы неправильно его использовали.
Вот пример:
const userId = 123;
const userName = 'john'
const params = {userId, userName}
let url = '/foo/:userId/:userName'
url = url.replace(/:[^/]+/g, (g) => (params[g.substr(1)]))
console.info(url)Вы также можете использовать строковую интерполяцию, если ваш код позволяет сделать это таким образом
const userId = 123;
const userName = 'john'
const url = `/foo/${userId}/${userName}`;
console.info(url);
А как использовать
.replace?