Page 69 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 69
let currentTemp = 1 9 . 5 ;
/ / ООЬО - код Unicode для символа "градуса "
const message = " T he current temperature is " + currentTemp + " \ uOObO " ;
C
Вплоть до ЕSб конкатенация строк была для этого единственным способом (за
исключением применения библиотек стороннего производителя). ЕSб вводит стро
ковые шаблонь1 (template string), или строковую интерполяцию (string interpolation).
Строковые шаблоны позволяют быстро вводить значения в строку. В строковых ша
блонах используются обратные апострофы вместо одинарных или двойных кавычек.
Вот предыдущий пример, переписанный с использованием строковых шаблонов.
let currentTemp = 1 9 . 5 ;
p
const message = ' T he current temperature i s $ { currentTem } \u00bOC ' ;
В строковом шаблоне знак доллара становится специальным символом (поэто
му в случае использовании его в виде литерала, вы должны экранировать его с по
мощью обратной косой черты): если он сопровождается значением2, заключенным
в фигурные скобки, то значение вставляется в строку.
Строковые.шаблоньr - это одно из моих любимых средств ЕSб, и вы увидите их
повсюду в этой книге.
Поддержка многостроч н ы х строк
До ЕSб поддержка многострочных (multiline) строк была, в лучшем случае, сла
бой. Спецификация языка позволяла использовать экранированный символ новой
строки в конце строки исходного кода, но я никогда не использовал это средство
в связи с ненадежной поддержкой браузером. После принятия стандарта ЕSб это
средство, вероятнее всего, будет доступно, но есть некоторые странности, о которых
вы должны знать. Обратите внимание, что эти методики, вероятно, не будут рабо
тать на консоли JavaScript (как и в вашем браузере), поэтому фактически вы должны
будете написать файл JavaScript, чтобы испытать их. В строки в одиночных и парных
кавычках вы можете вставить символ новой строки таким образом.
e
const multil ine = "lin l \
l i ne2 " ;
Если вы ожидаете, что mul i l i ne будет строкой с символом новой строки внут
t
ри, то вы будете удивлены: наклонная черта в конце строки экранирует символ но
"
e
вой строки, но не вставляет его в строку. В результате получится l in l l i ne2". Если
вам нужна фактически новая строка, то следует сделать так.
const multiline = " l inel \n\
lin 2 " ;
e
2 Фактически в фигурных скобках можно использовать любое выражение. Выражения мы
рассмотрим в главе 5.
Специальные символы 67

