Zaczynając od Firefoksa 34/Chrome 41/Safari 9/Microsoft Edge można użyć ES2015/funkcja ES6 nazwie Template Literals i używać tej składni:
`String text ${expression}`
Literały szablonów są dołączane przez tylny znacznik (``) (akcent grobowy) zamiast podwójnych lub pojedynczych cudzysłowów.
Przykład:
var a = 5;
var b = 10;
console.log(`Fifteen is ${a + b}.`);
// "Fifteen is 15.
Jak miłe jest to, że?
Bonus:
Pozwala także na smyczki multi-line w JavaScript bez ucieczki, który jest idealny dla szablonów:
return `
<div class="${foo}">
...
</div>
`;
Browser support:
Ponieważ składnia nieobsługiwany przez starsze przeglądarki (Internet Explorer i Safari < = 8), możesz użyć Babel, aby przenieść swój kod do ES5, aby mieć pewność, że będzie działał wszędzie.
Notatka:
Począwszy od IE8 + można użyć podstawowy ciąg formatowanie wewnątrz console.log
:
console.log('%s is %d.', 'Fifteen', 15);
// Fifteen is 15.
Nie przegap faktu, że ciąg szablonu jest rozdzielany tylnymi znacznikami (\ ') zamiast zwykłych znaków cudzysłowu. '" $ {foo} "' to dosłownie $ {foo} '' '' '' '' '' '' '' '' 'to jest to, czego faktycznie potrzebujesz – Hovis
Jest także wiele transpilerów, które zmieniają ES6 w ES5, aby naprawić problem ze zgodnością! – Omid