Când se programează cu JavaScript, de multe ori se împiedică de incapacitatea de a implementa șiruri multi-linie, introducându-le în mai multe linii din cod. În timp ce sarcina în alte limbi, cum ar fi PHP sau Ruby nu este o problemă, cu JavaScript puteți inițial să vă deplasați numai cu soluții alternative, a căror utilizare este decisă de gustul personal sau de suportul browserului.
Încercarea evidentă
var str = "Dies ist eine
mehrzeilige
Zeichenkette.";
Eșuează, iar parserul se plânge apoi de mai multe lucruri (sub forma unui jeton neașteptat ILEGAL), deoarece JavaScript (spre deosebire de alte limbaje de programare precum PHP) inserează automat punct și virgulă după sfârșitul fiecărei linii.:
var str = "Dies ist eine;
mehrzeilige;
Zeichenkette.";
O primă soluție la problemă constă în concatenarea șirului simplu prin operatorul \ n și +:
var str = "Dies ist eine\n" +
"mehrzeilige\n" +
"Zeichenkette.";
Pentru o opțiune mai rapidă și ceva mai ordonată, adăugați o bară oblică inversată la sfârșitul fiecărei linii.:
var str = "Dies ist eine\n\
mehrzeilige\n\
Zeichenkette";
Alternativ, puteți utiliza și metoda join și să o obțineți:
var str = ["Dies ist eine",
"mehrzeilige",
"Zeichenkette"].join("\n");
Dacă, pe de altă parte, ochii îți luminează cu expresii regulate, folosește următoarea sintaxă (match () filtrează valorile dintre comentarii):
var str = (function () {/*Dies ist eine
mehrzeilige
Zeichenkette*/}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1];
Important: Dacă codul este minimizat, această soluție poate fi uitată (deoarece și comentariile sunt eliminate).
Cea mai frumoasă variantă reușește cu ECMA6 și cu ajutorul șirurilor șablon:
var str = `Dies ist eine
mehrzeilige
Zeichenkette`;