Багаторядні рядки в JavaScript

При програмуванні на 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`;
Назад