for loop
تُستخدم هذه الحلقة عندما نريد تنفيذ كود عددًا معينًا من المرات.
الصيغة
for (initialization; condition; iteration) {
// الكود الذي سيتم تنفيذه
}
مثال:
for (let i = 0; i < 5; i++) {
console.log(`item: ${i}`);
}
تبدأ الحلقة من i = 0 وتستمر حتى تصبح i أكبر من أو تساوي 5، وتزيد i بمقدار 1 في كل مرة.
for...in loop
تُستخدم للتكرار على خصائص الكائنات (Objects) حيث تمر على كل مفتاح (Key) داخل الكائن (Object).
مثال:
const person = { name: "Ali", age: 25, country: "Egypt" };
for (const key in person) {
console.log(`${key}: ${person[key]}`);
}
ستطبع:
name: Ali
age: 25
country: Egypt
for...of loop
تُستخدم مع المصفوفات (Arrays) وتمر مباشرةً على القيم داخلها.
مثال:
const numbers = [10, 20, 30];
for (const num of numbers) {
console.log(num);
}
ستطبع:
10
20
30
while loop
تُستخدم عندما لا نعرف عدد مرات التكرار مسبقًا، حيث تعتمد على شرط.
مثال:
let count = 0;
while (count < 3) {
console.log(`Count is: ${count}`);
count++;
}
ستطبع:
Count is: 0
Count is: 1
Count is: 2
⚠ إذا لم يتم تحديث الشرط داخل الحلقة (Loop)، فقد تتسبب في حلقات لا نهائية (Infinite loop).
do...while loop
تشبه while، لكن الفرق أنها تُنفذ الكود على الأقل مرة واحدة قبل التحقق من الشرط.
مثال:
let count2 = 0;
do {
console.log(`Count is: ${count2}`);
count2++;
} while (count2 < 3);
ستطبع نفس ناتج while:
Count is: 0
Count is: 1
Count is: 2
☑ الفرق الرئيسي هو أنه حتى لو كان الشرط خاطئًا من البداية، فسيتم تنفيذ الكود مرة واحدة على الأقل.