الفرق بين let و var و const في JavaScript
Understanding JavaScript Variable Declarations: let, var, and const
البرومبت
Act as a senior JavaScript developer with 10+ years of experience. Explain the key differences between `let`, `var`, and `const` in JavaScript to a [beginner/intermediate/advanced] programmer. Cover topics like [hoisting], [scope (block vs. function)], and [mutability/reassignment]. Provide [real-world examples] or [common pitfalls] to illustrate your points. Ensure your explanation is clear, concise, and tailored to the learner's level. Highlight when to use each declaration and why modern best practices favor `let` and `const` over `var`.
أسئلة شائعة
ما الفرق الأساسي بين `let` و `var` في JavaScript؟▼
`var` له نطاق دالة بينما `let` له نطاق كتلة (block scope).
هل يمكن إعادة تعيين قيمة `const` بعد تعريفها؟▼
لا، `const` تعني ثابت ولا يمكن تغيير قيمتها بعد التعريف.
ما هو التصاعد (Hoisting) وكيف يؤثر على `var`؟▼
التصاعد يرفع تعريف `var` لأعلى النطاق مع قيمة `undefined` قبل التنفيذ.
متى يجب استخدام `let` بدلاً من `var`؟▼
يُفضل استخدام `let` لتجنب مشاكل النطاق غير المتوقع مع `var`.
هل يمكن استخدام `const` للمتغيرات التي تتغير قيمتها؟▼
لا، `const` للمتغيرات الثابتة فقط. استخدم `let` للمتغيرات المتغيرة.
ما هي أفضل ممارسة بين `let` و `const` و `var`؟▼
استخدم `const` افتراضيًا، `let` عند الحاجة للتغيير، وتجنب `var` إلا للتوافق.