let تعريف

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

let تعريف

التصنيفتصريح المتغيرات

⚙️ المعاملات

变量名
初始值

يعدّل القيمة الأصلية:لا (يُعيد قيمة جديدة)

💡 تلميح
⚠️ تحذير

🌐 دعم المتصفح

المتصفح ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
let ✓ v49 ✓ v12 ✓ v44 ✓ v10 ✓ v36
مدعوم في جميع المتصفحات الحديثة
المزيد من الحالات قادم قريباً — تابعونا.

📚 دروس ذات صلة

❓ أسئلة شائعة

Qما الفرق بين let و var؟
Aثلاثة أمور: أولاً النطاق، فـ let نطاقي للكتلة (يصلح داخل {} فقط)، أما var فنطاقي للدالة وقد يتسرّب إلى الكائن العام؛ ثانياً إعادة التعريف، فـ let تمنعها بينما var يسمح بها؛ ثالثاً سلوك الرفع (hoisting)، فـ let تُبقي الربط في المنطقة الميتة المؤقتة (TDZ) وتُطلق خطأً عند الوصول إليه قبل الإعلان، بينما var يُرجع undefined بصمت.
Qلماذا استخدام متغير let قبل إعلانه يتسبب في خطأ؟
Aالمنطقة الواقعة بين دخول النطاق وتنفيذ عبارة إعلان let تُسمى المنطقة الميتة المؤقتة (TDZ). المتغير يكون مسجّلاً لكنه غير مُهيَّأ، لذا فإن لمسه يُطلق خطأ ReferenceError. وهذا مقصود بالتصميم: فهو يمنع الأخطاء الصامتة الناتجة عن undefined التي يتيحها var.
Qلماذا يتصرف let بشكل مختلف داخل الحلقات؟
Aمع let، تحصل كل تكرارٍ (iteration) على نسخة خاصة به من متغير الحلقة (مع انتقال القيمة السابقة إليها)، فيلتقط كل إغلاق (closure) قيمته الخاصة. أما مع var فلا يوجد سوى ربط واحد مشترك، لذا تلاحظ كل دوال الاستدعاء القيمة الأخيرة لاحقاً.
Web-Tutorial.com

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

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

100%