📦 المتغيرات في JavaScript: صناديق التخزين الذكية في برامجك 🚀

المتغيرات (Variables) هي مفهوم أساسي وأول خطوة حقيقية في رحلتك لتعلم البرمجة! تخيل أن المتغير مثل صندوق تخزين ذكي يمكنك وضع بيانات بداخله، ثم استدعاء هذه البيانات لاحقاً باستخدام اسم الصندوق. هذا بالضبط ما تفعله المتغيرات.


🤔 ما هو المتغير ولماذا نستخدمه؟

المتغير هو مكان في ذاكرة الكمبيوتر نخصصه لتخزين قيمة معينة. نعطيه اسماً (مثل userName أو age) حتى نتمكن من الوصول إلى القيمة المخزنة بسهولة بدلاً من إعادة كتابتها في كل مرة.

فكر في هذا المثال البسيط من الحياة الواقعية: بدلاً من أن تقول: "مرحباً أيها الشخص الذي عمره 25 سنة واسمه أحمد"، يمكنك تخزين الاسم في متغير والعمر في متغير آخر وتقول: مرحباً يا + userName (وستظهر "مرحباً يا أحمد").

الفوائد الرئيسية:

  • إعادة الاستخدام: اكتب القيمة مرة واحدة، واستخدمها ألف مرة.
  • التعديل المركزي: غيّر القيمة في مكان واحد، وسيتم التعديل تلقائياً في كل مكان استخدمت فيه المتغير.
  • الوضوح: أسماء المتغيرات تجعل الكود أسهل للقراءة والفهم.

📝 كيفية إنشاء متغير (التصريح عنه)

لإنشاء متغير في JavaScript، نحتاج إلى كلمة مفتاحية (Keyword) تليها اسم المتغير. هناك ثلاث طرق رئيسية للقيام بذلك، ولكل منها استخدامه.

1. var - الطريقة التقليدية (الأقل استخداماً حديثاً)

var companyName; // تصريح عن متغير باسم companyName
companyName = "Codex Academy"; // إسناد القيمة "Codex Academy" للمتغير

2. let - الطريقة الحديثة والمفضلة للمتغيرات التي تتغير قيمتها

let userName; // تصريح عن متغير
userName = "أحمد"; // إسناد قيمة
userName = "محمد"; // يمكننا تغيير القيمة لاحقاً
console.log(userName); // ستظهر النتيجة: محمد

3. const - للمتغيرات الثابتة التي لا تتغير

const birthYear = 1999; // تصريح عن متغير ثابت وإسناد قيمة له مباشرة
// birthYear = 2000; // هذه السطر سيسبب خطأ! لا يمكن تغيير قيمة const

ملاحظة مهمة: يجب دائماً إعطاء قيمة للمتغير من نوع const في لحظة إنشائه.


🏷️ قواعد تسمية المتغيرات

لا يمكنك تسمية متغيرك بأي اسم. هناك قواعد يجب اتباعها:

  • يمكن أن يحتوي الاسم على حروف، أرقام، underscores (_)، وعلامة الدولار ($).
  • لا يمكن أن يبدأ برقم.
  • حساس لحالة الأحرف (Case-sensitive). يعني myVar مختلف عن myvar.
  • لا يمكن استخدام الكلمات المحجوزة في اللغة (مثل let, if, for).

أمثلة على أسماء صحيحة:

let userName;
let _age;
let $total;
let score2024;

أمثلة على أسماء خاطئة:

// let 1stPlace;   // خطأ: يبدأ برقم
// let user-name; // خطأ: يحتوي على شرطة
// let let;       // خطأ: استخدام كلمة محجوزة

نصيحة: استخدم أسماء توصف الغرض من المتغير (مثل firstName بدلاً من fn).


💾 أنواع البيانات التي يمكن تخزينها

يمكن للمتغيرات في JavaScript تخزين أنواع مختلفة من البيانات. هذه بعض الأنواع الأساسية:

  1. النصوص (Strings): مجموعة من الحروف بين علامتي اقتباس.
    let greeting = "مرحباً بالعالم!"; // باستخدام ""
    let name = 'آية'; // أو باستخدام ''
    
  2. الأرقام (Numbers): أرقام بدون اقتباس.
    let age = 25;
    let price = 99.99;
    
  3. القيم المنطقية (Booleans): true (صحيح) أو false (خطأ).
    let isLoggedIn = true;
    let isEmpty = false;
    
  4. القيمة الفارغة (Undefined): عندما تعلن عن متغير تعطيه قيمة.
    let futureValue;
    console.log(futureValue); // النتيجة: undefined
    
  5. القيمة الخالية (Null): تمثل قيمة "فارغة" أو "غير معروفة" متعمدة.
    let userCar = null; // المستخدم لا يملك سيارة
    

🧪 لنطبق ما تعلمناه: مثال عملي متكامل

لنكتب برنامجاً بسيطاً يحسب مساحة مستطيل باستخدام المتغيرات.

// 1. نعرف المتغيرات ونخزن القيم
const rectangleWidth = 10;   // عرض المستطيل (ثابت لا يتغير)
const rectangleHeight = 5;   // ارتفاع المستطيل (ثابت لا يتغير)

// 2. نحسب المساحة باستخدام المتغيرات
let area = rectangleWidth * rectangleHeight; // عملية حسابية باستخدام قيم المتغيرات

// 3. نعرض النتيجة
console.log("عرض المستطيل هو: " + rectangleWidth);
console.log("ارتفاع المستطيل هو: " + rectangleHeight);
console.log("مساحة المستطيل هي: " + area);

النتيجة في Console:

عرض المستطيل هو: 10
ارتفاع المستطيل هو: 5
مساحة المستطيل هي: 50

انظر كيف جعلت المتغيرات الكود واضحاً وسهلاً للتعديل. إذا أردت حساب مساحة مستطيل آخر، كل ما عليك هو تغيير القيمتين في الأعلى!


🎯 ملخص سريع

  • المتغير هو صندوق تخزين للبيانات في الذاكرة.
  • نستخدم let للمتغيرات التي قد تتغير قيمتها، و const للمتغيرات الثابتة.
  • نستخدم = لوضع قيمة داخل المتغير (عملية الإسناد).
  • من المهم اختيار أسماء متغيرات واضحة وذات معنى.