A JavaScript-sel történő programozás során gyakran megbotlik a többsoros karakterláncok megvalósításának képtelenségében azáltal, hogy a kód több sorába is beírja őket. Míg a más nyelveken, például a PHP-ben vagy a Rubyban szereplő feladat nem jelent problémát, a JavaScript-el kezdetben csak megkerülő megoldásokkal lehet megkerülni, amelyek használatát a személyes ízlés vagy a böngésző támogatása dönti el.
A nyilvánvaló kísérlet
var str = "Dies ist eine
mehrzeilige
Zeichenkette.";
nem sikerül, és az elemző panaszkodik számos dologra (váratlan token ILLEGAL formájában), mert a JavaScript (más programozási nyelvekkel, például a PHP-vel ellentétben) automatikusan pontosvesszőt illeszt az egyes sorok vége után:
var str = "Dies ist eine;
mehrzeilige;
Zeichenkette.";
A probléma első megoldása a \ n és + operátorral történő egyszerű karakterlánc összefűzésből áll:
var str = "Dies ist eine\n" +
"mehrzeilige\n" +
"Zeichenkette.";
Ha kevésbé lassú és kissé szebb változatot kedvel, akkor minden sor végén írjon visszajelet:
var str = "Dies ist eine\n\
mehrzeilige\n\
Zeichenkette";
Alternatív megoldásként használhatja a csatlakozási módszert is, és megszerezheti:
var str = ["Dies ist eine",
"mehrzeilige",
"Zeichenkette"].join("\n");
Ha viszont a szemed szabályos kifejezésekkel világít, használd a következő szintaxist (a match () kiszűri az értékeket a megjegyzések között):
var str = (function () {/*Dies ist eine
mehrzeilige
Zeichenkette*/}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1];
Fontos: Ha a kód tömörítve van, akkor ezt a megoldást el lehet felejteni (mivel a megjegyzéseket is eltávolítjuk).
A legszebb változat az ECMA6 és a sablon húrok segítségével sikerül:
var str = `Dies ist eine
mehrzeilige
Zeichenkette`;