Вы можете воспользоваться шаблонными литералами и использовать этот синтаксис:
`String text ${expression}`
Шаблонные литералы заключаются в обратный тик (``) (серьезный акцент) вместо двойных или одинарных кавычек.
Эта функция была введена в ES2015 (ES6).
пример
var a = 5;
var b = 10;
console.log(`Fifteen is ${a + b}.`);
// "Fifteen is 15.
Насколько это аккуратно?
Бонус:
Он также допускает многострочные строки в javascript без экранирования, что отлично подходит для шаблонов:
return `
<div class="${foo}">
...
</div>
`;
Поддержка браузера :
Поскольку этот синтаксис не поддерживается старыми браузерами (в основном Internet Explorer), вы можете использовать Babel / Webpack для переноса вашего кода в ES5, чтобы он работал везде.
Примечание:
Начиная с IE8 +, вы можете использовать базовое форматирование строк внутри console.log
:
console.log('%s is %d.', 'Fifteen', 15);
// Fifteen is 15.
"${foo}"
буквально $ {foo}`${foo}`
это то, что вы на самом деле хотите