حلقة while في JavaScript للمبتدئين: التكرار حسب شرط حتى يتحقق الهدف

أحياناً لا تعرف عدد مرات التكرار مسبقاً. تريد فقط الاستمرار "طالما الشرط صحيح". هنا تستخدم while loop في JavaScript.

إذا كنت تبحث عن شرح while loop للمبتدئين أو متى أستخدم while بدل for أو كيف أتجنب الحلقة اللانهائية، فهذا الدرس يشرحها بأمثلة عملية واضحة.

ما هي while loop في JavaScript؟

while تفحص الشرط أولاً. إذا كان true تنفذ الكود ثم تعود لفحص الشرط مرة أخرى. تتوقف فقط عندما يصبح الشرط false.

قاعدة أساسية: while = شرط + تحديث مستمر. بدون تحديث، قد تدخل في حلقة لا نهائية.

1) البنية الأساسية لحلقة while

while (الشرط) {
  // الكود الذي سيتكرر
}

ماذا يفعل هذا الكود؟ يكرر block طالما أن الشرط صحيح.

النتيجة المتوقعة: التكرار يستمر حتى يتحول الشرط إلى false.

خطأ شائع: كتابة شرط لا يمكن أن يصبح false.

2) مثال أساسي: عداد من 1 إلى 3

let count = 1;

while (count <= 3) {
  console.log('العد الحالي: ' + count);
  count++;
}

ماذا يفعل هذا الكود؟ يطبع القيم 1 ثم 2 ثم 3 ويزيد العداد كل دورة.

النتيجة المتوقعة: 3 دورات فقط ثم تتوقف الحلقة.

خطأ شائع: نسيان count++ فيستمر التكرار للأبد.

3) مثال عملي: البحث حتى تحقق شرط

let password = '1234';
let guess = '';
let attempts = 0;

while (guess !== password && attempts < 3) {
  // محاكاة إدخالات المستخدم
  guess = attempts === 2 ? '1234' : '0000';
  attempts++;
}

console.log('Attempts:', attempts);
console.log('Matched:', guess === password);

ماذا يفعل هذا الكود؟ يكرر المحاولة حتى تتطابق كلمة المرور أو تنتهي المحاولات.

النتيجة المتوقعة: يتوقف عند التطابق أو بعد 3 محاولات كحد أقصى.

خطأ شائع: تجاهل شرط حماية إضافي مثل attempts < 3.

4) استخدام break و continue داخل while

let i = 0;

while (i < 6) {
  i++;

  if (i === 3) {
    continue; // تخطّي 3
  }

  if (i === 5) {
    break; // أوقف الحلقة
  }

  console.log(i);
}

ماذا يفعل هذا الكود؟ يتجاوز دورة معينة ثم يوقف الحلقة عند شرط آخر.

النتيجة المتوقعة: يطبع 1، 2، 4 فقط.

خطأ شائع: الخلط بين continue (تخطي دورة) وbreak (إيقاف كامل).

Story قصيرة: لماذا توقف المتصفح؟

مبتدئ كتب: while (count <= 10) { console.log(count); } بدون تحديث count. المتصفح تجمّد بسبب حلقة لا تنتهي. بعد إضافة count++ داخل الحلقة، انتهت المشكلة فوراً.

تحذير مهم: أي while بدون تحديث صحيح للشرط قد تتحول إلى حلقة لانهائية. اختبر حلقاتك دائماً على نطاق صغير أولاً.

النتيجة في المتصفح (Console concept)

let n = 3;
while (n > 0) {
  console.log(n);
  n--;
}
console.log('Done');

Checklist سريعة قبل تشغيل while

  • هل الشرط صحيح منطقياً ويستطيع أن يصبح false؟
  • هل يوجد تحديث واضح للمتغير داخل الحلقة؟
  • هل تحتاج شرط أمان إضافي لتجنب التكرار الزائد؟
  • هل اختبرت الحلقة بقيم صغيرة أولاً؟
أفضل ممارسة: إذا كان عدد التكرارات معروفاً من البداية استخدم for، وإذا كان غير معروف استخدم while.

روابط المتابعة بعد هذا الدرس

الخطوة التالية مباشرة: حلقة do while في JavaScript ثم مقدمة الدوال في JavaScript.

الأسئلة الشائعة — FAQ (أسئلة بحثية شائعة)

ما هي while loop في JavaScript؟

هي حلقة تكرارية تعمل طالما الشرط true، وتستخدم غالباً عندما لا تعرف عدد التكرارات مسبقاً.

كيف أتجنب الحلقة اللانهائية؟

حدّث المتغير المرتبط بالشرط داخل الحلقة، أو أضف شرط خروج إضافياً عند الحاجة.

متى أستخدم while بدل for؟

while أفضل عندما يعتمد التوقف على حالة قد تتغير بوقت غير محدد.

ما الفرق بين while و do while؟

while قد لا تنفذ أبداً إذا كان الشرط false من البداية، بينما do while تنفذ مرة واحدة على الأقل.

هل أستطيع استخدام break و continue داخل while؟

نعم، break لإيقاف الحلقة وcontinue لتخطي الدورة الحالية.

للمتابعة مباشرة: ابدأ بدرس حلقة do while في JavaScript ثم انتقل إلى مقدمة الدوال في JavaScript.

جرّب الآن: اكتب while loop تبدأ من 10 وتنقص إلى 1، ثم اطبع "Blastoff" بعد انتهاء الحلقة.
ممتاز! الآن فهمت كيف تستخدم while بوعي وتتجنب الحلقات اللانهائية. في الدرس القادم سنتعلم do while لتنفيذ الكود مرة واحدة على الأقل.
المحرر الذكي

اكتب الكود وشاهد النتيجة فوراً

جرب الآن مجاناً
قناة ديف عربي

تابع أحدث الدروس والتحديثات مباشرة على واتساب

انضم الآن