Шаблонные строки в 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, чтобы на выходе текст был отформатирован.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.