✨ اكتشف قوة النصوص في JavaScript مع String Methods الساحرة!
مرحباً بك في عالم معالجة النصوص في جافا سكريبت! 🎯 في هذا الدرس، سنتعلم كيفية التحكم في النصوص (Strings) وتحويلها والبحث فيها باستخدام أدوات قوية تسمى String Methods. تخيل أن لديك قطعة من الصلصال (النص) وهذه الأدوات هي يديك التي تشكلها كما تريد! هيا نبدأ.
🔤 ما هي String Methods؟
ببساطة، String Methods هي وظائف (Functions) جاهزة مدمجة في اللغة، مصممة خصيصاً للتعامل مع النصوص. كل نص (String) في جافا سكريبت يأتي مع مجموعة من هذه الوظائف التي يمكنك استدعاؤها للقيام بمهام محددة عليه، مثل معرفة طوله، أو تحويله لحروف كبيرة، أو البحث عن كلمة بداخله.
// مثال: لدينا نص
let greeting = "Hello World";
// يمكننا استخدام Methods على هذا المتغير `greeting`
// Example:
// variableName.functionName()
console.log(greeting.toUpperCase());
📏 الطريقة الأولى: معرفة طول النص (.length)
الخاصية .length ليست وظيفة (Method) بالمعنى الدقيق، بل هي خاصية (Property)، لكنها أساسية جداً لفهم النصوص. تعطيك عدد الأحرف (بما في ذلك المسافات) الموجودة في النص.
let message = "I am learning JavaScript";
let messageLength = message.length; // لا نستخدم الأقواس () لأنها خاصية وليست دالة
console.log(messageLength); // Output: 24 (number of characters and spaces)
// Note: Arabic and English letters are counted as one character.
🔠 طرق التحويل بين الحروف الكبيرة والصغيرة (Case Methods)
هذه الطرق مفيدة جداً عند المقارنة بين النصوص أو عند عرض البيانات بشكل موحد.
.toUpperCase(): تحول كل الحروف الإنجليزية في النص إلى حروف كبيرة (كابيتال).let word = "hello world"; let bigWord = word.toUpperCase(); console.log(bigWord); // المخرجات: HELLO WORLD.toLowerCase(): تحول كل الحروف الإنجليزية في النص إلى حروف صغيرة (سمول).⚠️ ملاحظة مهمة: هذه الطرق تؤثر فقط على الحروف الإنجليزية (A-Z, a-z). الحروف العربية لا تتأثر لأنها لا تملك مفهوم "كبير" و"صغير".let shout = "WELCOME TO CODEX ACADEMY"; let quietShout = shout.toLowerCase(); console.log(quietShout); // المخرجات: welcome to codex academy
🔍 طرق البحث في النص (Search Methods)
تساعدك هذه الطرق في فحص محتوى النص.
.includes(searchValue): تبحث إذا كان النص يحتوي على جزء (كلمة أو حروف) معين. ترجعtrueإذا وجدته، وfalseإذا لم تجده.let sentence = "I love programming in JavaScript"; let hasJS = sentence.includes("JavaScript"); let hasPython = sentence.includes("Python"); console.log(hasJS); // المخرجات: true console.log(hasPython); // المخرجات: false.startsWith(searchValue): تتحقق إذا كان النص يبدأ بـ جزء معين.let fileName = "report_2023.pdf"; console.log(fileName.startsWith("report")); // المخرجات: true console.log(fileName.startsWith("2023")); // المخرجات: false.endsWith(searchValue): تتحقق إذا كان النص ينتهي بـ جزء معينlet fileName = "report_2023.pdf"; console.log(fileName.endsWith(".pdf")); // المخرجات: true console.log(fileName.endsWith(".jpg")); // المخرجات: false
✂️ طرق استخراج أجزاء من النص (Extraction Methods)
تستخدم لقص جزء محدد من النص الأصلي.
.slice(start, end): تستخرج جزءاً من النص من الفهرسstartوحتى الفهرسend(ولكن لا تشمل الحرف الموجود في الفهرسend). إذا حذفتend، ستأخذ منstartحتى النهاية.let fullText = "JavaScript is a great language"; let part1 = fullText.slice(0, 10); // من الفهرس 0 إلى 9 let part2 = fullText.slice(11); // من الفهرس 11 إلى النهاية console.log(part1); // المخرجات: JavaScript console.log(part2); // المخرجات: is a great language.substring(start, end): تعمل بشكل مشابه جداً لـslice. الفرق الرئيسي هو في كيفية تعاملها مع الأرقام السالبة (وهو موضوع أكثر تقدمًا، دعنا نركز على الأساسيات الآن).
🔄 طرق التعديل والتنظيف (Modification Methods)
.replace(oldValue, newValue): تستبدل أول ظهور فقط للجزءoldValueبالجزءnewValue.let oldMessage = "I love apples. Apples are delicious."; let newMessage = oldMessage.replace("Apples", "Bananas"); console.log(newMessage); // المخرجات: "I love Bananas. Apples are delicious." // لاحظ أنها استبدلت أول "Apples" فقط!.trim(): تقوم بإزالة جميع المسافات الفارغة (Spaces) من بداية ونهاية النص فقط. لا تلمس المسافات في المنتصف.let userInput = " اسم المستخدم "; let cleanInput = userInput.trim(); console.log("'" + cleanInput + "'"); // المخرجات: 'اسم المستخدم' // لاحظ اختفاء المسافات الزائدة من الطرفين فقط!
📝 مثال تطبيقي بسيط يجمع بين أكثر من Method
لنطبق ما تعلمناه في مثال واقعي: تنظيف ومعالجة إدخال من المستخدم.
// تخيل أن المستخدم أدخل اسمه بهذا الشكل
let rawName = " aHmeD ";
// نريد تنظيفه وتحويله ليبدأ بحرف كبير والباقي صغير
let trimmedName = rawName.trim(); // الخطوة 1: تنظيف الطرفين -> "aHmeD"
let lowerCaseName = trimmedName.toLowerCase(); // الخطوة 2: تحويل للصغير -> "ahmed"
let finalName = lowerCaseName.charAt(0).toUpperCase() + lowerCaseName.slice(1); // الخطوة 3: أول حرف كبير
console.log(`Your name after cleaning is: ${finalName}`); // المخرجات: Your name after cleaning is: Ahmed
🎯 خلاصة الدرس
تعلمنا اليوم مجموعة من أهم أدوات التعامل مع النصوص في جافا سكريبت:
.lengthلقياس طول النص..toUpperCase()و.toLowerCase()للتحكم في حجم الحروف الإنجليزية..includes()و.startsWith()و.endsWith()للبحث والفحص..slice()و.substring()لقص أجزاء من النص..replace()للاستبدال و.trim()للتنظيف.
تذكر أن هذه الطرق لا تغير النص الأصلي، بل ترجع نسخة جديدة معدلة منه. جربها بنفسك في وحدة التحكم (Console) للمتصفح لترى النتائج مباشرة! 💻
🎓 اختبر نفسك
التعليقات
شاركنا رأيك أو أسئلتك حول هذا المقال