شبكة تعلم مع ناو

ما الفرق بين var وlet وconst في JavaScript؟

  • var: نطاقها الدالة كلها.
  • let وconst: نطاقهما الكتلة { } التي عُرّفا فيها.
  • const: لا يمكن إعادة تعيينها.
if (true) {
  var a = 1;
  let b = 2;
}
console.log(a);  // 1
console.log(b);  // ReferenceError

مشكلة var الشهيرة

for (var i = 0; i < 3; i++) {
  setTimeout(() => console.log(i));  // 3, 3, 3
}
for (let j = 0; j < 3; j++) {
  setTimeout(() => console.log(j));  // 0, 1, 2
}

النصيحة

استخدم const افتراضيًا، وlet عندما تحتاج تغيير القيمة، وتجنب var في الكود الجديد.

اختبر نفسك

خمسة أسئلة سريعة، مع الإجابة والشرح بعد كل سؤال.