The Code Fix

🟨 شرح جافاسكريبت

الحلقات (Loops)

لماذا الحلقات؟

لتكرار عمل عدّة مرّات دون نسخ الكود: طباعة قائمة، معالجة مصفوفة، إلخ.

حلقة for

الأشهر. ثلاثة أجزاء: البداية، الشرط، التغيير:

for (let i = 0; i < 5; i++) {
  console.log(i);   // 0 1 2 3 4
}

حلقة while

تكرّر طالما الشرط صحيح:

let i = 0;
while (i < 5) {
  console.log(i);
  i++;
}

حلقة do ... while

تنفّذ مرة على الأقل ثم تتحقّق:

let i = 0;
do {
  console.log(i);
  i++;
} while (i < 5);

for ... of — المرور على القيم 🌟

الأنظف للمرور على عناصر مصفوفة أو نص:

let colors = ["أحمر", "أخضر", "أزرق"];

for (let color of colors) {
  console.log(color);
}

for ... in — المرور على المفاتيح

للمرور على خصائص كائن:

let person = { name: "براء", age: 25 };

for (let key in person) {
  console.log(key, ":", person[key]);
}

🔑 for...of للقيم (المصفوفات)، و**for...in للمفاتيح** (الكائنات). لا تخلط بينهما.

التحكّم: break و continue

for (let i = 0; i < 10; i++) {
  if (i === 5) break;      // يوقف الحلقة تمامًا
  if (i % 2 === 0) continue; // يتخطّى للدورة التالية
  console.log(i);          // 1 3
}

دوال التكرار على المصفوفات (لمحة)

غالبًا تُفضَّل على الحلقات التقليدية (تفاصيلها في درس المصفوفات):

colors.forEach(color => console.log(color));

الأخطاء الشائعة

  • ❌ حلقة لا نهائية: نسيان i++ في while → تجمّد المتصفح.
  • ❌ خلط for...of وfor...in → الأول للقيم، الثاني للمفاتيح.
  • ❌ تعديل المصفوفة أثناء المرور عليها → نتائج غير متوقّعة.

خلاصة

for للعدّ المعروف، while/do-while حسب الشرط، for...of للقيم وfor...in للمفاتيح، وbreak/continue للتحكّم. الحلقات تجعل برنامجك يكرّر العمل بكفاءة.