Как добавить получение значения в ""?
Как добавить в "" значение ${message.args[1]} либо message.args[1], чтобы оно появлялось т.е "Тут значение которое выведет message.args[1]"
Ответы (1 шт):
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/template_strings
Шаблонные литералы заключены в обратные кавычки (` `) вместо двойных или одинарных. Они могут содержать подстановки, обозначаемые знаком доллара и фигурными скобками (
${выражение}).
let test = 'Привет';
console.log(`Вася говорит ${test}`);
console.log('Вася говорит ' + test); // старый способ
Вариант функции для переменных в одинарных/двойных кавычках (код взят с https://learn.javascript.ru/es-string и модифицирован):
function str(templateString, ...values) {
var regex = /\${(.*?)}/g;
var strings = templateString.split(regex);
let str = "";
for(let i=0; i<values.length; i++) {
str += strings[i];
str += values[i];
}
// последний кусок строки
str += strings[strings.length-1];
return str;
}
let apples = 3;
let oranges = 5;
console.log( str('Sum of ${apples} + ${oranges} = ${apples + oranges}!', [apples, oranges]));
Однако тут видна проблема, что если в текущем шаблоне происходят какие-либо операции (математические или, например, конкатенация и т.д.), то функциия это не обработает. Для этого нужно более продвинутую функцию писать. Но для простой замены переменных пойдёт