📝 ما هي الـ Statements في جافاسكريبت؟ اللبنة الأولى لبرامجك!

مرحباً بك في عالم البرمجة! 🎉 تخيل أنك تريد بناء منزل. ما هي أول شيء تحتاجه؟ قطع البناء الأساسية، أليس كذلك؟ في عالم جافاسكريبت، الـ Statements (التعليمات أو الجمل البرمجية) هي هذه القطع الأساسية. كل برنامج تكتبه هو عبارة عن مجموعة من الـ Statements مرتبة بترتيب معين.

ببساطة شديدة، الـ Statement هو أمر أو تعليمة واحدة تخبر الكمبيوتر بتنفيذ مهمة محددة. يمكن أن تكون هذه المهمة حساب معادلة رياضية، أو طباعة نص على الشاشة، أو تخزين قيمة في الذاكرة. كل جملة برمجية تنتهي بفاصلة منقوطة ;، وهي مثل النقطة في نهاية الجملة باللغة العربية، تخبر جافاسكريبت: "لقد انتهت هذه التعليمية، انتقل إلى التالية".


✍️ شكل الـ Statement الأساسي

لنبدأ بأبسط شكل ممكن. تخيل أنك تريد أن تقول للكمبيوتر: "يا كمبيوتر، قم بطباعة كلمة 'مرحباً' على الشاشة". في جافاسكريبت، تكتب هذا الأمر كـ Statement بالشكل التالي:

console.log("مرحباً");

دعنا نحلل هذا السطر البسيط معاً:

  • console.log: هذا هو الأمر الذي يقول "اطبع".
  • ("مرحباً"): هذا هو النص الذي نريد طباعته، ويوضع بين علامتي اقتباس.
  • ;: هذه هي الفاصلة المنقوطة التي تخبر جافاسكريبت بنهاية هذه الجملة البرمجية.

عندما يقوم المتصفح (مثل Chrome) بتنفيذ هذا السطر، سترى كلمة "مرحباً" تظهر في جزء المطورين (Console). جرب ذلك بنفسك! 🚀


📦 أنواع بسيطة من الـ Statements (في هذا المستوى)

في بداية رحلتك، ستتعامل بشكل أساسي مع نوعين من الـ Statements:

  1. تعليمات الإخراج (Output Statements): مثل المثال السابق console.log. مهمتها عرض معلومات للمستخدم أو للمطور.
  2. تعليمات الإعلان (Declaration Statements): تستخدم لتخزين البيانات في الذاكرة. سنتعلمها بالتفصيل لاحقاً، ولكن إليك لمحة سريعة عن شكلها:
let myName; // هذه جملة برمجية تقول: "احجز مكاناً في الذاكرة وأسمّه myName"

💬 الـ Comments: ملاحظاتك السرية داخل الكود!

هل تريد أن تكتب ملاحظة لنفسك أو لزميلك في الكود دون أن تؤثر على تنفيذ البرنامج؟ هذا هو دور التعليقات (Comments). جافاسكريبت تتجاهلها تماماً عند التنفيذ. وهي أداة رائعة لشرح ما يفعله الكود.

هناك طريقتان لكتابة التعليقات:

  • تعليق سطر واحد: يبدأ بشرطين مائلين //.
    // هذه سطر تعليق، جافاسكريبت ستتجاهله
    console.log("أهلاً بالعالم"); // يمكنني كتابة تعليق بجانب الكود أيضاً
    
  • تعليق متعدد الأسطر: يبدأ بـ /* وينتهي بـ */.
    /*
    هذا تعليق
    يمكن أن يمتد
    على عدة أسطر
    */
    console.log("تعلمت كتابة التعليقات!");
    

نصيحة ذهبية: 🏆 استخدم التعليقات بكثرة لشرط أفكارك وخطواتك، خاصة وأنت مبتدئ. ستساعدك كثيراً عندما تعود لقراءة الكود لاحقاً.


🔤 قواعد كتابة الـ Statements (Syntax Rules)

لكي تفهمك لغة جافاسكريبت، يجب أن تتبع قواعدها الخاصة في الكتابة، والتي تسمى البناء النحوي أو الـ Syntax. أهم القواعد في هذه المرحلة:

  • الحساسية لحالة الأحرف (Case Sensitive): الكلمة console تختلف عن Console أو CONSOLE. الأولى صحيحة والأخريان ستسببان خطأ.
  • الفاصلة المنقوطة ;: كما ذكرنا، هي علامة نهاية معظم الـ Statements. بينما قد يعمل الكود أحياناً بدونها، فمن أفضل الممارسات وضعها دائماً لتجنب الأخطاء غير المتوقعة.
  • المسافات البيضاء: جافاسكريبت تتجاهل المسافات الزائدة أو الأسطر الفارغة. تستخدمها فقط لجعل الكود أكثر قابلية للقراءة.
    console.log("مرحباً"); // هذا جيد
    console.log( "مرحباً" ); // هذا أيضاً جيد (مسافات حول الأقواس)
    

🧪 لنتمرن معاً: كتابة أول برنامج صغير

دعنا نكتب بضع جمل برمجية بسيطة في نفس البرنامج. افتح محرر الأكواد الخاص بك واكتب ما يلي:

// هذا هو برنامجي الأول في جافاسكريبت
// تاريخ اليوم: [اكتب التاريخ هنا]

// الجملة البرمجية الأولى: التحية
console.log("مرحباً أيها المبرمج!");

// الجملة البرمجية الثانية: عملية حسابية بسيطة
console.log(5 + 3);

// الجملة البرمجية الثالثة: طباعة أكثر من شيء
console.log("مجموع 5 و 3 هو:", 5 + 3);

ماذا يحدث هنا؟

  1. أولاً، نكتب بعض التعليقات لوصف البرنامج.
  2. ثم نأمر الكمبيوتر بطباعة جملة ترحيبية.
  3. بعد ذلك، نأمره بحساب 5 + 3 وطباعة النتيجة (8).
  4. أخيراً، ندمج النص والحساب في جملة console.log واحدة.

🧭 ماذا سنتعلم في الدرس القادم؟

الآن وقد أصبحت تعرف ما هي الـ Statements وكيفية بناء جملة برمجية أساسية، حان الوقت للحديث عن "البيانات" التي نتعامل معها داخل هذه الجمل. 🎯 في الدرس القادم، سنتعمق في عالم المتغيرات (Variables) في جافاسكريبت. سنتعلم: ما هي المتغيرات؟ كيف ننشئها ونسميها؟ وكيف نخزن فيها القيم النصية والرقمية لنستخدمها لاحقاً في برامجنا؟ استعد للانتقال من مجرد طباعة المعلومات إلى تخزينها والتعامل معها بشكل ديناميكي!