шаблон text = <<"HERE" This Is A Multiline String HERE
недоступен в js (я помню, как много раз использовал его в старые добрые времена Perl).
Для контроля над сложными или длинными многострочными строками я иногда использую шаблон массива:
var myString =
['<div id="someId">',
'some content<br />',
'<a href="#someRef">someRefTxt</a>',
'</div>'
].join('\n');
или уже показанный анонимный шаблон (экранирование новой строки), который может быть уродливым блоком в вашем коде:
var myString =
'<div id="someId"> \
some content<br /> \
<a href="#someRef">someRefTxt</a> \
</div>';
Вот еще один странный, но работающий трюк 1 :
var myString = (function () {/*
<div id="someId">
some content<br />
<a href="#someRef">someRefTxt</a>
</div>
*/}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1];
внешнее редактирование: jsfiddle
ES20xx поддерживает растягивающиеся строки в нескольких строках, используя строки шаблона :
let str = `This is a text
with multiple lines.
Escapes are interpreted,
\n is a newline.`;
let str = String.raw`This is a text
with multiple lines.
Escapes are not interpreted,
\n is not a newline.`;
1 Примечание: это будет потеряно после минимизации / обфускации вашего кода