Верх страницы
Обложка к записи Многострочные переменные в JavaScript
Время для прочтения: 0 мин. 5 сек.

Многострочные переменные в 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

ВКонтакте
Одноклассники
Linkedin
Telegram
WhatsApp

Комментарии
Подписаться
Уведомить о
guest
2 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Андрей
Андрей
1 год назад

Ни «var multiline = «»+<r><![CDATA[«, ни «var multiline = <>» не работают в javascript. Откуда вы это вообще взяли?