A partir de Firefox 34/Chrome 41/Safari 9/Microsoft bord, vous pouvez utiliser une fonction ES2015/ES6 appelé Template Literals et utiliser cette syntaxe:
`String text ${expression}`
Les littéraux de modèle sont entourés par le back-tick (``) (accent grave) au lieu de guillemets doubles ou simples.
Exemple:
var a = 5;
var b = 10;
console.log(`Fifteen is ${a + b}.`);
// "Fifteen is 15.
Comment pur est-ce?
Bonus:
Il permet également des chaînes multi-lignes en javascript sans échapper, ce qui est excellent pour les modèles:
return `
<div class="${foo}">
...
</div>
`;
Browser support:
Comme cette syntaxe est non pris en charge par les anciens navigateurs (Internet Explorer et Safari < = 8), vous pouvez utiliser Babel pour transférer votre code dans ES5 pour s'assurer qu'il fonctionnera partout.
Side note:
A partir de IE8 + vous pouvez utiliser la chaîne de base mise en forme à l'intérieur console.log
:
console.log('%s is %d.', 'Fifteen', 15);
// Fifteen is 15.
Ne manquez pas le fait que la chaîne du modèle est délimitée par des graduations (\ ') à la place de vos guillemets normaux. '' $ {Foo} "' est littéralement $ {foo} '\' $ {foo} \ '' est ce que vous voulez vraiment – Hovis
Il ya aussi beaucoup de transpileurs pour transformer ES6 en ES5 pour résoudre le problème de compatibilité! – Omid