Κατά τον προγραμματισμό με JavaScript κάποιος σκοντάφτει συχνά για την αδυναμία πραγματοποίησης συμβολοσειρών πολλαπλών γραμμών εισάγοντάς τις σε πολλές γραμμές στον κώδικα. Ενώ η εργασία σε άλλες γλώσσες όπως η PHP ή το Ruby δεν είναι πρόβλημα, με το JavaScript μπορείτε αρχικά να κάνετε μόνο με εναλλακτικές λύσεις, η χρήση των οποίων αποφασίζεται από προσωπικό γούστο ή υποστήριξη προγράμματος περιήγησης.
Η προφανής προσπάθεια
var str = "Dies ist eine
mehrzeilige
Zeichenkette.";
αποτυγχάνει και ο αναλυτής παραπονιέται για πολλά πράγματα (με τη μορφή απροσδόκητου διακριτικού ILLEGAL) επειδή η JavaScript (σε αντίθεση με άλλες γλώσσες προγραμματισμού όπως η PHP) εισάγει αυτόματα ένα ερωτηματικό μετά το τέλος κάθε γραμμής:
var str = "Dies ist eine;
mehrzeilige;
Zeichenkette.";
Μια πρώτη λύση στο πρόβλημα συνίσταται στην απλή συνένωση συμβολοσειρών μέσω του τελεστή \ n και +:
var str = "Dies ist eine\n" +
"mehrzeilige\n" +
"Zeichenkette.";
Εάν προτιμάτε μια λιγότερο αργή και ελαφρώς καλύτερη παραλλαγή, προσθέστε μια ανάστροφη κάθετο στο τέλος κάθε γραμμής:
var str = "Dies ist eine\n\
mehrzeilige\n\
Zeichenkette";
Εναλλακτικά, μπορείτε να χρησιμοποιήσετε τη μέθοδο σύνδεσης και να την αποκτήσετε:
var str = ["Dies ist eine",
"mehrzeilige",
"Zeichenkette"].join("\n");
Εάν, από την άλλη πλευρά, τα μάτια σας φωτίζονται με κανονικές εκφράσεις, χρησιμοποιήστε την ακόλουθη σύνταξη (match () φιλτράρει τις τιμές μεταξύ των σχολίων):
var str = (function () {/*Dies ist eine
mehrzeilige
Zeichenkette*/}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1];
Σημαντικό: Εάν ο κωδικός ελαχιστοποιηθεί, αυτή η λύση μπορεί να ξεχαστεί (καθώς τα σχόλια αφαιρούνται επίσης).
Η καλύτερη παραλλαγή πετυχαίνει με το ECMA6 και τη βοήθεια των συμβολοσειρών προτύπων:
var str = `Dies ist eine
mehrzeilige
Zeichenkette`;