При програмуванні на JavaScript часто натрапляє на неможливість реалізації багаторядкових рядків, вводячи їх у кілька рядків у коді. Хоча завдання іншими мовами, такими як PHP або Ruby, не є проблемою, з JavaScript ви спочатку можете обійтися лише обхідними шляхами, використання яких вирішується особистим смаком або підтримкою браузера.
Очевидна спроба
var str = "Dies ist eine
mehrzeilige
Zeichenkette.";
не вдається, і парсер потім скаржиться на декілька речей (у вигляді несподіваного маркера НЕЗАКОННО), оскільки 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`;