JavaScript'te çok satırlı dizeler

JavaScript ile programlama yaparken, çok satırlı dizeleri koda birden çok satırda girerek gerçekleştirme olasılığının olmaması genellikle tökezlenir. PHP veya Ruby gibi diğer dillerde görev bir sorun olmasa da, JavaScript yalnızca kullanımı kişisel zevkinize veya tarayıcı desteğine bağlı olan geçici çözümlerle kullanılabilir.


Bariz girişim

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

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

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

Soruna ilk çözüm, \ n ve + işleçlerini kullanarak basit dize birleştirme işleminden oluşur:

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

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

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

Alternatif olarak, join yöntemini kullanabilir ve şunları alabilirsiniz:

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

Öte yandan, düzenli ifadelerle parlayan gözlerle karşılaşırsanız, 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ülürse, bu çözüm unutulabilir (yorumlar da kaldırıldığı için).

En güzel varyant ECMA6 ve şablon dizeleri yardımıyla çalışır:

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