Новое в ES6: template literals (шаблонные строки)
С приходом версии ES6 в JavaScript стало возможным использование шаблонных литералов. Они в значительной степени упрощают работу со строками и переменными в JavaScript.
Если ранее мы писали так:
var val1 = 5;
var val2 = 10;
console.log('Сумма чисел ' + val1 + ' и ' + val2 + ' равна ' + (val1 + val2));
// 'Сумма чисел 5 и 10 равна 15'
То теперь в ES6 благодаря template literals мы можем написать вот так:
var val1 = 5;
var val2 = 10;
console.log(`Сумма чисел ${val1} и ${val2} равна ${val1 + val2}`);
// 'Сумма чисел 5 и 10 равна 15'
То есть мы интерполировали (подставили) значение переменных в строку.
Как можно заметить за место типичных одинарных и двойных кавычек, строка заключена в обратные кавычки(``
). Это и превращает ее в шаблонный литерал, который может содержать подстановки переменных и выражений за счет знака доллара и фигурных скобок ${выражение}
а также сохраняет форматирование, например переносы строк:
console.log(`Строка номер один
строка номер два`);
// "Строка номер один
// строка номер два"