JavaScript'te çok satırlı dizeler

JavaScript ile programlama yaparken, çok satırlı dizeleri kodda birkaç satıra da girerek gerçekleştirememe sık sık tökezler. PHP veya Ruby gibi diğer dillerdeki görev bir sorun olmasa da, JavaScript ile başlangıçta yalnızca, kullanımına kişisel zevkinize veya tarayıcı desteğine göre karar verilen geçici çözümlerle idare edebilirsiniz.


Bariz girişim

var str = "Dies ist eine
mehrzeilige
Zeichenkette.";

başarısız olur ve ayrıştırıcı birkaç şeyden (beklenmedik belirteç ILLEGAL biçiminde) şikayet eder, çünkü JavaScript (PHP gibi diğer programlama dillerinin aksine) otomatik olarak her satırın sonundan sonra noktalı virgül ekler.:

var str = "Dies ist eine;
mehrzeilige;
Zeichenkette.";

Sorunun ilk çözümü, \ n ve + operatörü aracılığıyla basit dize birleştirme işleminden oluşur:

var str = "Dies ist eine\n" +
"mehrzeilige\n" +
"Zeichenkette.";

Daha az yavaş ve biraz daha hoş bir varyantı tercih ediyorsanız, her satırın sonuna bir ters eğik çizgi ekleyin:

var str = "Dies ist eine\n\
mehrzeilige\n\
Zeichenkette";

Alternatif olarak, birleştirme yöntemini de kullanabilir ve elde edebilirsiniz.:

var str = ["Dies ist eine",
"mehrzeilige",
"Zeichenkette"].join("\n");

Öte yandan, gözleriniz normal ifadelerle aydınlanırsa, aşağıdaki sözdizimini kullanın (match (), yorumlar arasındaki değerleri filtreler):

var str = (function () {/*Dies ist eine
mehrzeilige
Zeichenkette*/}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1];

Önemli: Kod küçültülmüşse, bu çözüm unutulabilir (çünkü yorumlar da kaldırılır).

En güzel varyant, ECMA6 ve şablon dizelerinin yardımıyla başarılı olur:

var str = `Dies ist eine
mehrzeilige
Zeichenkette`;
Geri