سلاسل متعددة الأسطر في JavaScript

عند البرمجة باستخدام JavaScript ، غالبًا ما يتعثر المرء في عدم القدرة على تحقيق سلاسل متعددة الأسطر عن طريق إدخالها أيضًا في عدة أسطر في الكود. في حين أن المهمة بلغات أخرى مثل PHP أو Ruby ليست مشكلة ، مع JavaScript ، يمكنك في البداية فقط التغلب على الحلول ، والتي يتم تحديد استخدامها حسب الذوق الشخصي أو دعم المتصفح.


المحاولة الواضحة

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

يفشل الأمر ثم يشكو المحلل من عدة أشياء (في شكل رمز غير متوقع غير قانوني)، لأن جافا سكريبت (على عكس لغات البرمجة الأخرى مثل 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";

بدلاً من ذلك ، يمكنك استخدام طريقة الانضمام والحصول عليها:

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`;
عودة