رشته های چند خطی در 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";

همچنین می توانید از روش 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`;
بازگشت