JavaScript: متغيرات جافاسكريبت

آخر تحديث: 2026-10-13

المتغيرات هي صناديق لتخزين البيانات — تضع على كل صندوق اسمًا، ثم تضع البيانات فيه، أو تخرجها، أو تستبدلها في أي وقت.

تصريحات ذات صلة:function const let var for

1. ما هي المتغيرات

تخيل صفًا من الصناديق المسماة: واحد اسمه "الاسم" يحتوي "أحمد"، وآخر اسمه "العمر" يحتوي 25. المحتوى يمكن أن يتغير، لكن الاسم يبقى كما هو — هذا هو المتغير.

في JS، تنشئ المتغيرات باستخدام كلمات الإعلان (var / let / const) وتعيين القيم بعلامة يساوي:

HTML
<script>
var name = "أحمد";
let age = 25;
const PI = 3.14;
</script>

كان var هو الطريقة الوحيدة لإعلان المتغيرات قبل ES6. له سلوكان يسببان صداعًا:

  1. نقطة الدالة — متغير مُعلن بـ var داخل كتلة if أو for يمكن الوصول إليه من الخارج، وهو أمر غير منطقي
  2. الرفع — إعلانات var "مرفوعة" إلى أعلى نطاقها، لكن التعيينات لا تُرفع. يمكنك استخدام متغير قبل إعلانه (قيمته ستكون undefined) بدون أخطاء، مما يؤدي إلى أخطاء خفية

هذان السلوكان يجعلان var أرضًا خصبة للأخطاء. في JS الحديث، تم استبدال var إلى حد كبير بـ let وconst.


2. let — نطاق الكتلة، الخيار الافتراضي الموصى به

تم تقديم let في ES6 (2015) ويصلح كلتا المشكلتين في var:

في التطوير اليومي، استخدم let للمتغيرات التي تحتاج إلى إعادة تعيين.


3. let — ثوابت، لا يمكن إعادة تعيينها

const لديه أيضًا نطاق الكتلة، لكن يجب تعيينه عند الإعلان ولا يمكن إعادة تعيينه لاحقًا.

ملاحظة: const يقيد "إعادة التعيين"، وليس "التغيير". إذا كان const يحتوي على كائن أو مصفوفة، يمكنك تعديل خصائص الكائن أو عناصر المصفوفة — فقط لا يمكن للمتغير أن يشير إلى كائن مختلف.

استخدم const افتراضيًا؛ انتقل إلى let عندما تحتاج إلى إعادة تعيين — هذه هي أفضل ممارسة.


4. قواعد تسمية المتغيرات


5. إعلان متغيرات متعددة

يمكنك إعلان متغيرات متعددة دفعة واحدة، مفصولة بفواصل:

HTML
<script>
let a = 1, b = 2, c = 3;
</script>

ومع ذلك، للقراءة، يُفضل متغير واحد لكل سطر.

▶ مثال: رفع var ونقطة الدالة

▶ جرّب الكود

▶ مثال: نطاق كتلة let

▶ جرّب الكود

▶ مثال: ثوابت const

▶ جرّب الكود

▶ مثال: مقارنة var / let / const

▶ جرّب الكود

تصريحات ذات صلة:function const let var for

❓ أسئلة شائعة

س إذا كان بإمكان كائنات const التعديل، ما فائدة const؟
ج const يضمن أن مرجع المتغير لن يتغير — لا يمكنك إعادة تعيين person عن طريق الخطأ إلى كائن مختلف، لكن تعديل خصائص الكائن الحالي مسموح تمامًا. إنه مثل قفل مسمار الصندوق (هذا الصندوق دائمًا "صندوق أحمد")، لكن يمكنك وضع ما تريد بداخله.
س متى يجب استخدام let مقابل const؟
ج قاعدة بسيطة: اسأل نفسك "هل ستتغير هذه القيمة؟" — إذا لا، استخدم const؛ إذا نعم، استخدم let. على سبيل المثال، العدادات تستخدم let، ثوابت التكوين تستخدم const. في الممارسة العملية، ستستخدم const أكثر بكثير من let.
س هل لا يزال بإمكاني استخدام var؟
ج تقنيًا نعم، لكن لا يوجد سبب لذلك. let وconst هما ترقيات كاملة لـ var — لا يوجد سenario حيث يكون var مطلوبًا لكن let/const لن يعملا. فهم var في الكود القديم مقبول، لكن استخدم دائمًا let/const في الكود الجديد.

📖 ملخص

📝 تمارين

  1. أساسي: أعلن ثابت SITE_NAME باسمك باستخدام const، ومتغير visitCount مضبوط على 0 باستخدام let، ثم اعرض كلا القيمتين على الصفحة.
  2. متوسط: أنشئ صفحة بها زر يحاكي "عداد الزيارات" — كل نقرة تزيد visitCount بمقدار 1 وتعرض القيمة الحالية. لاحظ كيف يسمح let بإعادة التعيين بينما const لا.
  3. تحدي: أنشئ صفحة بها كائن طالب const { name: "أحمد", scores: [80, 90, 75] }. ثم أضف درجة جديدة 85، احسب المتوسط، وغيّر الاسم إلى "سارة" — كل هذا بدون إعادة تعيين const، مما يثبت أنه يمكن تعديل محتوى الكائن.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%