Բազմաշերտ տողեր JavaScript- ում

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`;
Վերադառնալ