هنگام برنامه نویسی با جاوا اسکریپت ، اغلب با وارد کردن آنها در چندین خط در کد ، ناتوانی در تحقق رشته های چند خطی گیر می افتد. در حالی که این کار در زبانهای دیگر مانند PHP یا Ruby مشکلی ندارد ، با JavaScript می توانید در ابتدا فقط با راه حل هایی استفاده کنید که استفاده از آنها با سلیقه شخصی یا پشتیبانی مرورگر تعیین می شود.
تلاش آشکار
var str = "Dies ist eine
mehrzeilige
Zeichenkette.";
این کار با شکست مواجه میشود و سپس تجزیهگر از چندین مورد (به شکل Unexpected token ILLEGAL) شکایت میکند، زیرا جاوا اسکریپت (برخلاف سایر زبانهای برنامهنویسی مانند 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";
همچنین می توانید از روش join استفاده کنید و آن را دریافت کنید:
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`;