JavaScript- ով ծրագրավորելիս հաճախ ընկնում է բազմաշերտ տողեր իրականացնելու անկարողության վրա `դրանք մուտքագրելով նաև կոդի մի քանի տողեր: Չնայած այլ լեզուներում, ինչպիսիք են PHP- ը կամ Ruby- ն, խնդիր չէ, JavaScript- ի հետ դուք կարող եք ի սկզբանե բավարարվել միայն լուծումներով, որոնց օգտագործումը որոշվում է ըստ անհատական ճաշակի կամ զննարկչի աջակցության:
Ակնհայտ փորձը
var str = "Dies ist eine
mehrzeilige
Zeichenkette.";
ձախողվում է, և վերլուծիչը բողոքում է մի քանի բանից (անսպասելի նշանի ապօրինի տեսքով), քանի որ 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`;