let وconst وتجنّب var
أساسيات let وconst، وأسباب تجنّب var، ونطاق الكتلة، ومقدمة مبسطة إلى المنطقة الزمنية الميتة (TDZ).
let وconst وتجنّب var درس مجاني في JavaScript Academy على CoddyKit. هذا هو الدرس 1 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في JavaScript Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة JavaScript Academy 3 دروس في المجموع.
مقدمة
الهدف: استخدم let وconst بثقة، وتجنب var القديمة، وافهم نطاق الكتلة وTDZ.
- let في مقابل const
- نطاق الكتلة
- أمان TDZ

أساسيات let في مقابل const
القاعدة: استخدم const ما لم تكن تخطط لإعادة الإسناد؛ وإلا فاستخدم let.
// Prefer const by default; use let when you need to reassign
const appName = "CoddyKit";
// cannot reassign
let score = 0;
// can reassign
score = score + 1;
console.log("App:", appName);
console.log("Score:", score);

لماذا نتجنب var
تجنب var للأسباب التالية:
- نطاقها هو نطاق الدالة وليس نطاق الكتلة.
- تُرفَع، ويمكن قراءة قيمتها كـ undefined قبل التصريح بها.
- تجعل إعادة هيكلة الشيفرة أصعب وأقل قابلية للتنبؤ.

تجربة نطاق الكتلة
يساعد نطاق الكتلة في إبقاء المتغيرات محلية والحفاظ على ترتيب الشيفرة.
// Block scope: variables exist only inside the braces
let lives = 3;
if (true) {
const bonus = 10;
// only inside this block
let level = 2;
// only inside this block
console.log("Inside:", bonus, level);
}
console.log("Lives:", lives);
// The following would be ReferenceError if uncommented:
// console.log(bonus, level);

TDZ (تجربة آمنة)
TDZ: لا يمكن قراءة متغير let أو const قبل سطر التصريح به؛ وهذا يمنع كثيرًا من الأخطاء.
// TDZ: accessing let/const before declaration throws ReferenceError
try {
// Uncommenting next line would throw:
// console.log(theme);
// ReferenceError (TDZ)
let theme = "dark";
console.log("Theme after declare:", theme);
} catch (e) {
console.log("Caught:", e.message);
}

التسمية والنصائح
التسمية:
- استخدم أسماء واضحة للبيانات (userName وscore).
- استخدم أفعالًا للدوال (computeTotal).
- حافظ على ضيق النطاق؛ وصرّح بالمتغير قريبًا من موضع استخدامه.

اختبار let في مقابل const
تحقّق سريع: نطاق الكتلة وإعادة الإسناد.

مراجعة
مراجعة: فضّل const، واستخدم let عندما تحتاج إلى إعادة الإسناد، وتجنب var. يحافظ نطاق الكتلة على محلية المتغيرات، ويحمي TDZ من أخطاء الوصول المبكر.

الأسئلة الشائعة
هل درس «let وconst وتجنّب var» مجاني؟
نعم — نص درس «let وconst وتجنّب var» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة JavaScript Academy، انتقل إلى CoddyKit PRO. تتضمن دورة JavaScript Academy 3 دروس في المجموع.
ماذا ستتعلم في «let وconst وتجنّب var»؟
أساسيات let وconst، وأسباب تجنّب var، ونطاق الكتلة، ومقدمة مبسطة إلى المنطقة الزمنية الميتة (TDZ). تتمرن على JavaScript Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ JavaScript Academy؟
لا تُشترط خبرة سابقة. JavaScript Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 3.
كم من الوقت يستغرق درس «let وconst وتجنّب var»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس JavaScript Academy هذا؟
نعم. كل درس في JavaScript Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- let وconst وتجنّب var
- نطاق الكتلة والدالة والوحدة وTDZ
- التسمية وقابلية القراءة والمشكلات الشائعة