هنگام برنامه نویسی با جاوا اسکریپت ، اغلب با وارد کردن آنها در چندین خط در کد ، ناتوانی در تحقق رشته های چند خطی گیر می افتد. در حالی که این کار در زبانهای دیگر مانند 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";
همچنین می توانید از روش 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`;