В многих языках программирования есть heredoc-синтаксис
для создания многострочных переменных, содержащих как одинарные кавычки, так и двойные. В JavaScript же явного определения heredoc
нет. Как же быть?
Попробуем решить данный вопрос.
Как обстоят дела, например, в РНР?
Обычное определение строки в РНР:
$s = 'Кавычки бывают 'одинарными''; $t = "Кавычки бывают "двойными"";
heredoc
-определение в PHP:
$s = <<<EOL Кавычки бывают 'одинарными' и "двойными". Да еще и в несколько строк. EOL;
Что есть в JavaScript?
Обычно мы используем конкатенацию строк
var multiline = 'Первая строка'+ 'Вторая строка'+ 'Третья строка';
Второй вариант — экранирование переводов строк
var multiline = 'Первая строка Вторая строка Третья строка';
У данного метода наблюдаются проблемы с браузером Internet Explorer
Третий вариант — CDATA
var multiline = ""+<r><![CDATA[ Первая строка Вторая строка Третья строка ]]></r>;
У данного метода наблюдаются проблемы с браузером Internet Explorer, Google Chrome
Можно попробовать и так:
var multiline = <> Первая строка Вторая строка Третья строка </>.toString();
Как видите, вариантов несколько, какой из них выбрать дело ваше, но кроссбраузерный лишь первый из них (конкатенация строк).
RTFM
Источник: https://www.kobzarev.com/programming/multi-variables-in-javascript/