حلقة do while في JavaScript للمبتدئين: نفّذ الكود مرة واحدة على الأقل
أحياناً تريد أن ينفّذ الكود مرة واحدة على الأقل، ثم بعد ذلك تقرر هل تكرر أم تتوقف. هنا تستخدم do...while في JavaScript.
إذا كنت تبحث عن شرح do while للمبتدئين أو الفرق بين while و do while أو متى أستخدم do while عملياً، فهذا الدرس يشرحها بأمثلة واضحة.
ما هي do while في JavaScript؟
do...while تشبه while، لكن ترتيب التنفيذ مختلف:
الكود داخل do يعمل أولاً، ثم يتم فحص الشرط في while.
قاعدة ذهبية: do while = تنفيذ أول، فحص لاحق. لذلك على الأقل دورة واحدة مضمونة.
1) البنية الأساسية لـ do...while
do {
// الكود الذي سيتنفذ مرة واحدة على الأقل
} while (الشرط);
ماذا يفعل هذا الكود؟ ينفذ block مرة أولى ثم يقرر التكرار حسب الشرط.
النتيجة المتوقعة: دورة واحدة على الأقل حتى لو الشرط false.
خطأ شائع: نسيان الفاصلة المنقوطة ; بعد while (condition).
2) مثال يوضح التنفيذ الإجباري مرة واحدة
let i = 10;
do {
console.log('هذا السطر سيعمل مرة واحدة');
i++;
} while (i < 5);
ماذا يفعل هذا الكود؟ ينفذ الكود أولاً رغم أن الشرط i < 5 خاطئ من البداية.
النتيجة المتوقعة: طباعة سطر واحد فقط ثم التوقف.
خطأ شائع: توقع ألا تعمل الحلقة إطلاقاً مثل while.
3) مثال عملي: قائمة تتكرر حتى اختيار الخروج
let choice;
let step = 0;
do {
// محاكاة إدخال المستخدم
choice = step === 2 ? 'exit' : 'continue';
console.log('Choice:', choice);
step++;
} while (choice !== 'exit');
ماذا يفعل هذا الكود؟ يعرض العملية مرة تلو الأخرى حتى يختار المستخدم الخروج.
النتيجة المتوقعة: تتكرر عدة مرات ثم تتوقف عند exit.
خطأ شائع: نسيان تحديث القيمة التي يعتمد عليها الشرط.
4) استخدام break و continue داخل do...while
let n = 0;
do {
n++;
if (n === 2) {
continue; // تخطي هذه الدورة
}
if (n === 5) {
break; // إيقاف الحلقة
}
console.log(n);
} while (n < 10);
ماذا يفعل هذا الكود؟ يوضح التحكم في سير الحلقة باستخدام continue وbreak.
النتيجة المتوقعة: تخطي 2 والتوقف عند 5.
خطأ شائع: الخلط بين continue (تخطي) وbreak (إيقاف كامل).
Story قصيرة: لماذا do while كانت الأنسب؟
مطور مبتدئ استخدم while لعرض قائمة خيارات. عندما كانت القيمة الأولية غير مناسبة، لم تظهر القائمة أبداً. بعد تحويلها إلى do while، ظهرت القائمة مرة واحدة على الأقل كما هو مطلوب.
النتيجة في المتصفح (Console concept)
let tries = 0;
do {
console.log('Try:', tries);
tries++;
} while (tries < 3);
Checklist سريعة قبل تشغيل do...while
- هل أنت متأكد أنك تحتاج تنفيذ الدورة الأولى دائماً؟
- هل شرط while واضح ويمكن أن يصبح false؟
- هل يوجد تحديث للمتغير داخل الحلقة؟
- هل أضفت
;بعد while في نهاية الجملة؟
روابط المتابعة بعد هذا الدرس
الخطوة التالية مباشرة: مقدمة الدوال في JavaScript ثم إنشاء الدوال في JavaScript.
الأسئلة الشائعة — FAQ (أسئلة بحثية شائعة)
ما هي do while في JavaScript؟
هي حلقة تكرارية تنفذ أولاً ثم تفحص الشرط، لذلك تضمن دورة واحدة على الأقل.
ما الفرق بين while و do while؟
while تفحص قبل التنفيذ، أما do while فتفحص بعد التنفيذ.
متى أستخدم do while؟
عندما تريد تنفيذ خطوة أولية ثم تكرارها حسب شرط لاحق.
هل يمكن أن تسبب do while حلقة لا نهائية؟
نعم إذا لم يتم تحديث المتغير المرتبط بالشرط.
هل أستطيع استخدام break وcontinue داخل do while؟
نعم، تماماً مثل for وwhile.
للمتابعة مباشرة: ابدأ بدرس مقدمة الدوال في JavaScript ثم انتقل إلى إنشاء الدوال في JavaScript.