Bij het programmeren met JavaScript struikelt men vaak over het onvermogen om meerregelige strings te realiseren door ze ook in meerdere regels in de code in te voeren. Hoewel de taak in andere talen, zoals PHP of Ruby, geen probleem is, kun je met JavaScript in eerste instantie alleen omzeilen met tijdelijke oplossingen, waarvan het gebruik wordt bepaald door persoonlijke smaak of browserondersteuning.
De voor de hand liggende poging
var str = "Dies ist eine
mehrzeilige
Zeichenkette.";
Het mislukt en de parser geeft vervolgens een foutmelding (in de vorm van "Unexpected token ILLEGAL"), omdat JavaScript (in tegenstelling tot andere programmeertalen zoals PHP) automatisch een puntkomma achter elke regel plaatst.:
var str = "Dies ist eine;
mehrzeilige;
Zeichenkette.";
Een eerste oplossing voor het probleem bestaat uit het eenvoudig samenvoegen van tekenreeksen via de operator \ n en +:
var str = "Dies ist eine\n" +
"mehrzeilige\n" +
"Zeichenkette.";
Voor een snellere en iets nettere optie kun je aan het einde van elke regel een backslash toevoegen.:
var str = "Dies ist eine\n\
mehrzeilige\n\
Zeichenkette";
Als alternatief kunt u ook de join-methode gebruiken en deze downloaden:
var str = ["Dies ist eine",
"mehrzeilige",
"Zeichenkette"].join("\n");
Als, aan de andere kant, je ogen oplichten bij reguliere expressies, gebruik dan de volgende syntaxis (match () filtert de waarden tussen de commentaren):
var str = (function () {/*Dies ist eine
mehrzeilige
Zeichenkette*/}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1];
Belangrijk: als de code is verkleind, kan deze oplossing worden vergeten (aangezien de opmerkingen ook worden verwijderd).
De leukste variant lukt met ECMA6 en de hulp van template strings:
var str = `Dies ist eine
mehrzeilige
Zeichenkette`;