Интерполяция строк - это удобный способ подставлять значения переменных в строки. Шаблонная строка это тоже самое, что и интерполяция. Шаблонная строка в ES6 пришла на замену обычной строке. Посмотрим на практике, какие правила существует при использовании интерполяций.

Шаблонные строки в JS (интерполяция)

Интерполяция строк - это удобный способ подставлять значения переменных в строки. Шаблонная строка это тоже самое, что и интерполяция. Шаблонная строка в ES6 пришла на замену обычной строке. Посмотрим на практике, какие правила существует при использовании интерполяций.


Пример #1

Создадим переменную user и присвоим ей значение helen_25.

const user = "helen_25";

Решение вопроса в старом стандарте

В старом стандарте данный вопрос решался бы путем объединение строк с помощью оператора +. Зачастую в формировании URL участвовало много плюсов и код разрастался, как на дрожжах. Для того, чтобы этого не делать, придумали интерполяцию строки.

console.log('https//site.com/' + user);
// получаем на выходе https//site.com/helen_25

Интерполяция строк (ES6)

Используем переменную user для динамического формирования URL пути, по которому будет переходить пользователь, в результате запроса. Внутри обратных кавычек `` (буква ё) пропишем неизменяемое начало URL, знак доллара и имя переменной в фигурных скобках. Интерполяция работает только с обратными кавычками.

console.log(`https//site.com/${user}`);
// на выходе получим то же самое https//site.com/helen_25


Пример #2

const login = "Alex";
alert(`Добро пожаловать ${login}!`);
// Добро пожаловать Alex!

Шаблонные строки можно применять в огромном количестве случаев, приведу более сложный пример.


Многострочность

Шаблонные строки поддерживают многострочность. В примере шаблонная строка возвращается в нескольких строках кода, куда вставляются динамические значения. Затем вызываем функцию с заданными значениями, а результат ее работы выводим в консоль и больше не надо проставлять \n.

function message (name, link) {
    return `Здравствуйте, ${name}!
    Вы получили это письмо потому, что Вы подписаны
    на еженедельную рассылку обновлений сайта ${link}.`
}
console.log(message('Максим', 'travel.ru'));
// Здравствуйте, Максим!
Вы получили это письмо потому, что Вы подписаны
на еженедельную рассылку обновлений сайта travel.ru.

HTML шаблоны

Шаблонные строки похожи на функциональностью шаблонизатора, когда можно сгенерировать часть разметки, подставляемой вместо переменных в HTML коде. На основе шаблонных строк можно делать HTML шаблоны.

let article = {
    title: 'Шаблонные строки',
    desc: 'Интерполяция строки в ES6.',
    body: 'HTML шаблоны - это круто',
}
let {title,desc,body} = article
let html = `<article>
    <header>
    <h1>${title}</h1>
    </header>
    <section>
    <div>${desc}</div>
    <div>${body}</div>
    </section>
</article>`

Заключение

Шаблонные строки на JS позволяют использовать выражения в строках без использования конкатенации строк. Шаблонная строка очень помогает при создании строк из смешанных значений: динамических и статических. Она добавила немного упрощенный синтаксис для этого случая, поэтому код получается более чистым и лучше читаемым. Поддержка многострочности также является большим плюсом - добавляя код внутри шаблонной строки в несколько строк, на выходе мы получим те же самые несколько строк. До появления шаблонных строк, нужно было заранее расставлять \n, чтобы на выходе текст был отформатирован.