Многострочные переменные в JavaScript

В многих языках программирования есть 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/

Михаил Кобзарёв

Суровый русский тимлид. Жил в Магадане, в офисе московских веб студий и в Тульской деревне. Виртуозно знает WordPress, PHP, ООП, Vue.js и вот это вот все. Делает крутые высоконагруженные сайты, поэтому уже почти захватил весь рынок WordPress разработки в России. Не дает никому делать сайты без спроса. Ведет блог о разработке, дайджест в телеграмме и в ВК. Любит сиськи, баню и радиоэлектронику. 100% патриот (но это не точно). Тролль 542 уровня. Ездит в отпуск раз в 5 лет.

Добавить комментарий

%d такие блоггеры, как: