Как добавить получение значения в ""?

Как добавить в "" значение ${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]));

Однако тут видна проблема, что если в текущем шаблоне происходят какие-либо операции (математические или, например, конкатенация и т.д.), то функциия это не обработает. Для этого нужно более продвинутую функцию писать. Но для простой замены переменных пойдёт

→ Ссылка