Многострочные строки в JavaScript

При программировании с помощью JavaScript часто сталкиваешься с невозможностью реализовать многострочные строки, также вводя их в несколько строк кода. Хотя задача на других языках, таких как PHP или Ruby, не является проблемой, с JavaScript вы можете сначала обойтись только обходными путями, использование которых определяется личным вкусом или поддержкой браузера.


Очевидная попытка

var str = "Dies ist eine
mehrzeilige
Zeichenkette.";

Ошибка возникает, и парсер выдает ряд предупреждений (в виде сообщения об ошибке "Unexpected token ILLEGAL"), поскольку JavaScript (в отличие от других языков программирования, таких как PHP) автоматически вставляет точку с запятой в конец каждой строки.:

var str = "Dies ist eine;
mehrzeilige;
Zeichenkette.";

Первое решение проблемы состоит в простой конкатенации строк с помощью оператора \ n и +:

var str = "Dies ist eine\n" +
"mehrzeilige\n" +
"Zeichenkette.";

Для более быстрого и аккуратного варианта добавьте обратную косую черту в конец каждой строки.:

var str = "Dies ist eine\n\
mehrzeilige\n\
Zeichenkette";

В качестве альтернативы вы можете использовать метод соединения и получить его:

var str = ["Dies ist eine",
"mehrzeilige",
"Zeichenkette"].join("\n");

Если, с другой стороны, ваши глаза загораются при отображении регулярных выражений, используйте следующий синтаксис (match () фильтрует значения между комментариями):

var str = (function () {/*Dies ist eine
mehrzeilige
Zeichenkette*/}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1];

Важно: если код минифицирован, об этом решении можно забыть (так как комментарии также удаляются).

Самый хороший вариант - с ECMA6 и с помощью шаблонных строк.:

var str = `Dies ist eine
mehrzeilige
Zeichenkette`;
Назад