В этом посте мы рассмотрим действительно полезные литералы шаблонов. Что вы можете с ними сделать?
Использование литералов шаблонов
- Смешайте одинарные и двойные кавычки без использования обратной косой черты
- Упрощенное смешивание переменных, выражений и строк
- Писать многострочные тексты проще
Смешивание одинарных и двойных кавычек
Прежде всего, они находятся между обратными кавычками (`) вместо одинарных или двойных кавычек.
e.g.
const text = `Baz Roberts`;
Это означает, что нам не нужно беспокоиться о том, какой тип кавычек мы используем внутри обратных галочек.
e.g.
const text2 = `Barrie's called "Baz"`;
Как видите, у нас есть сочетание одинарных и двойных кавычек, но между обратными кавычками это нормально.
e.g.
const text3 = "Barrie's called \"Baz\"";
Раньше нам приходилось использовать обратную косую черту, чтобы избежать кавычек, когда мы хотели использовать их как часть строки.
Смешивание переменных со строками
Что мне действительно нравится в литералах шаблонов, так это то, что они значительно упрощают смешивание строк и переменных.
e.g.
const v = 1000000;
const text4 = `Baz's website "bazroberts.com" has had over ${v} visitors.`;
Logger.log(text4); //Baz's website has had over 1000000 visitors.
Здесь у нас есть переменная v, которая содержит количество посетителей. Я хочу добавить его в предложение, и для этого мы используем синтаксис ${}и помещаем переменную в середину фигурных скобок.
Чтобы сравнить это со старым способом сделать это:
e.g.
const text5 = "Baz's website \"bazroberts.com\" has had " + v + " visitors.";
Logger.log(text5); //Baz's website has had 1000000 visitors.
С литералами шаблонов нет необходимости постоянно открывать и закрывать кавычки или избегать кавычек, которые вы хотите использовать.
Это называется интерполяцией строк.
Смешивание выражений со строками и переменными
Мы также можем добавлять выражения прямо в литерал шаблона.
e.g.
const cost = 100;
const profit = 0.05;
const price = `The price is ${cost * (1 + profit)} dollars.`;
Logger.log(price); //The price is 105 dollars.
Как видите, мы можем легко смешивать строки, переменные и выражения, как в этом расчете цены.
Многострочные строки
Мы также можем использовать литералы шаблонов для более удобного написания многострочных строк.
e.g.
const multiLineText = `This text
has more than
one line.`;
Logger.log(multiLineText);
/*
This text
has more than
one line.
*/
Раньше нам приходилось использовать символ новой строки и знак «плюс», что гораздо менее элегантно.
const multiLineText2 = "This text\n" + "has more than\n" + "one line.";
Logger.log(multiLineText2);
Экранирование знака доллара и обратной галочки
К сожалению, мы не можем избежать обратной косой черты (извините, ужасный каламбур!). Бывают случаи, когда мы можем захотеть включить в нашу строку знак доллара или обратную галочку. Для этого мы используем обратную косую черту перед знаком доллара или обратной галочкой, которую хотим включить в строку.
e.g.
const price2 = 105;
Logger.log(`The price is \$${price2} dollars.`); //The price is $105 dollars.
Как видите, в строку включен знак доллара.
Литералы шаблонов удивительно просты, но значительно облегчают написание JavaScript и Apps Script.
Обратите внимание, что этот сайт ориентирован на скрипт приложений, поэтому приведенные выше примеры сосредоточены на использовании JavaScript в скрипте приложений, поэтому выше используется Logger.log. Узнать больше Скрипт приложений здесь.
Этот пост взят из моей книги Основы JavaScript для пользователей скриптов приложений.