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
   64   65   66   67   68   69   70   71   72   73   74