السلاسل النصية (Strings) في جافاسكربت
تعتبر السلاسل النصية (Strings) من أهم الأنواع البيانية في لغة البرمجة جافاسكربت، حيث تُستخدم في معظم التطبيقات البرمجية للتعامل مع النصوص والمحتوى النصي. تشكل السلاسل النصية جزءًا أساسيًا في تطوير الواجهات الرسومية والتطبيقات الديناميكية، فضلاً عن كونها مهمة في معالجة البيانات والتفاعل مع المستخدمين.
في هذا المقال، سنتناول السلاسل النصية في جافاسكربت بشكل موسع، حيث نغطي خصائصها، الطرق المختلفة للتعامل معها، وأمثلة عملية توضح كيفية استخدامها في كتابة برامج فعالة.
1. ما هي السلاسل النصية في جافاسكربت؟
السلسلة النصية في جافاسكربت هي عبارة عن مجموعة من الحروف أو الرموز التي يتم تمثيلها كسلسلة. يمكن أن تحتوي السلسلة النصية على حروف من الأبجدية، أرقام، أو حتى رموز خاصة مثل المسافات، الفواصل، والرموز الحسابية. يتم تمثيل السلسلة النصية في جافاسكربت باستخدام علامات الاقتباس المفردة (') أو المزدوجة (")، أو باستخدام القالب النصي الذي يتميز بالعلامة المائلة العلوية ( ).
على سبيل المثال:
javascriptlet str1 = "مرحبا بالعالم";
let str2 = 'مرحبا بكم';
let str3 = `مرحباً، اليوم هو ${new Date().toLocaleDateString()}`;
2. كيفية إنشاء السلاسل النصية
في جافاسكربت، يمكن إنشاء السلاسل النصية باستخدام واحدة من الطريقتين الآتيتين:
-
استخدام علامات الاقتباس المفردة أو المزدوجة:
javascriptlet greeting1 = 'مرحبًا'; let greeting2 = "أهلاً وسهلاً"; -
استخدام القوالب النصية (Template Literals):
تعتبر القوالب النصية أحدث أسلوب في جافاسكربت لإنشاء السلاسل النصية، وتسمح بدمج متغيرات وجمل برمجية داخل النصوص بسهولة. يتم ذلك عن طريق استخدام العلامة المائلة العلوية () بدلاً من علامات الاقتباس.javascriptlet name = "أحمد"; let greeting = `مرحباً، ${name}!`;
3. العمليات على السلاسل النصية
يتم تنفيذ العديد من العمليات على السلاسل النصية في جافاسكربت باستخدام مجموعة من الأساليب المتوفرة. من أبرز العمليات على السلاسل النصية:
-
الدمج (Concatenation):
عملية دمج سلسلتين نصيتين تُستخدم بشكل شائع في جافاسكربت. يمكن دمج السلاسل باستخدام علامة الجمع (+)، أو باستخدام القوالب النصية.javascriptlet firstName = "أحمد"; let lastName = "الحسني"; let fullName = firstName + " " + lastName; console.log(fullName); // أحمد الحسني -
الطول (Length):
يمكن الحصول على طول السلسلة النصية باستخدام خاصيةlength، وهي تعيد عدد الأحرف في السلسلة النصية.javascriptlet str = "مرحبًا"; console.log(str.length); // 7 -
الاستبدال (Replace):
يُستخدم هذا الأسلوب لاستبدال جزء من السلسلة النصية بنص آخر. يمكن أن يتم ذلك باستخدام دالةreplace().javascriptlet text = "أنا أحب البرمجة"; let newText = text.replace("أحب", "أعشق"); console.log(newText); // أنا أعشق البرمجة -
البحث (Search):
يمكن البحث عن جزء من السلسلة النصية باستخدام دالةindexOf(). تُعيد هذه الدالة موقع أول تطابق للمحتوى المطلوب.javascriptlet text = "أنا أحب البرمجة"; let position = text.indexOf("أحب"); console.log(position); // 3 -
التقسيم (Split):
يمكن تقسيم السلسلة النصية إلى مصفوفة من العناصر باستخدام دالةsplit(). يتم تحديد الفاصل الذي سيتم تقسيم السلسلة بناءً عليه.javascriptlet sentence = "أريد تعلم جافاسكربت"; let words = sentence.split(" "); console.log(words); // ["أريد", "تعلم", "جافاسكربت"] -
القص (Substring):
يمكن استخراج جزء من السلسلة النصية باستخدام دالةsubstring()أوslice().javascriptlet text = "أريد تعلم البرمجة"; let subText = text.substring(0, 6); console.log(subText); // أريد ت
4. التحقق من السلاسل النصية
في جافاسكربت، يمكن التحقق مما إذا كانت السلسلة النصية تحتوي على جزء معين باستخدام دالة includes(). تُعيد هذه الدالة قيمة منطقية (true أو false) حسب وجود النص المطلوب في السلسلة.
javascriptlet text = "أنا أحب البرمجة";
console.log(text.includes("أحب")); // true
console.log(text.includes("جافا")); // false
5. تعديل السلاسل النصية
تعتبر دوال toLowerCase() و toUpperCase() من أبرز الطرق التي تساعد على تحويل السلسلة النصية إلى أحرف صغيرة أو كبيرة على التوالي.
javascriptlet str = "Hello World!";
console.log(str.toLowerCase()); // hello world!
console.log(str.toUpperCase()); // HELLO WORLD!
6. التعامل مع المسافات في السلاسل النصية
في كثير من الأحيان، قد تحتوي السلاسل النصية على مسافات زائدة في البداية أو النهاية، ويمكن إزالة هذه المسافات باستخدام دالة trim().
javascriptlet text = " نص مع مسافات ";
let trimmedText = text.trim();
console.log(trimmedText); // نص مع مسافات
7. التكرار (Repetition)
إذا أردت تكرار السلسلة النصية عدة مرات، يمكن استخدام دالة repeat()، التي تكرر السلسلة النصية عددًا معينًا من المرات.
javascriptlet str = "مرحبًا! ";
console.log(str.repeat(3)); // مرحبًا! مرحبًا! مرحبًا!
8. معالجة السلاسل النصية باستخدام التعبيرات المنتظمة
يعتبر استخدام التعبيرات المنتظمة (Regular Expressions) في جافاسكربت من الأدوات القوية لتحديد الأنماط داخل السلاسل النصية. يمكن استخدام match() للبحث عن الأنماط، وreplace() لاستبدال الأنماط، و test() للتحقق من وجود الأنماط.
javascriptlet text = "رقم الهاتف هو 123-456-7890";
let regex = /\d{3}-\d{3}-\d{4}/;
let result = text.match(regex);
console.log(result); // [ '123-456-7890' ]
9. السلاسل النصية والقوالب متعددة الأسطر (Multiline Strings)
في جافاسكربت، تعتبر القوالب النصية (Template Literals) الأداة المثلى للعمل مع السلاسل النصية متعددة الأسطر، حيث يمكن كتابة نصوص تحتوي على أسطر متعددة دون الحاجة إلى استخدام الفواصل أو السلاسل المدمجة.
javascriptlet multilineString = `هذا هو السطر الأول
وهذا هو السطر الثاني
وهذا هو السطر الثالث`;
console.log(multilineString);
10. الاستفادة من الأساليب الحديثة في جافاسكربت
توفر جافاسكربت العديد من الأساليب الحديثة للتعامل مع السلاسل النصية بمرونة أكبر، مثل دالة startsWith() للتحقق مما إذا كانت السلسلة النصية تبدأ بنص معين، و endsWith() للتحقق مما إذا كانت تنتهي بنص معين.
javascriptlet str = "مرحبا بالعالم";
console.log(str.startsWith("مرحبا")); // true
console.log(str.endsWith("العالم")); // true
الختام
السلاسل النصية في جافاسكربت ليست مجرد نوع بيانات بسيط، بل هي عنصر أساسي يمكن الاستفادة منه في مختلف جوانب تطوير البرمجيات. من خلال الأساليب العديدة التي توفرها جافاسكربت للعمل مع النصوص، يصبح بالإمكان معالجة البيانات النصية بطرق مرنة وقوية.

