Skip to main content

۶.حلقه ها در جاوااسکریپت 🔄✨

سلام دوستان! 😊 امروز میخوایم با حلقه ها (Loops) در جاوااسکریپت آشنا بشیم. حلقه ها مثل یه جادوگر عمل میکنن و بهمون کمک میکنن یک کد رو چندین بار تکرار کنیم بدون اینکه مجبور باشیم همون کد رو دوباره بنویسیم! پس بیاین شروع کنیم 🚀


۱. حلقه for (کلاسیک و پرکاربرد 🏋️)

ساختار کلی

for (مقدار اولیه; شرط ادامه; بروزرسانی) {
// کدی که تکرار میشه
}

مثال

for (let i = 1; i <= 5; i++) {
console.log(i); // 1, 2, 3, 4, 5
}
  • 📌 i = 1: شمارنده از 1 شروع میشه.
  • 📌i <= 5: تا زمانی که i کوچکتر یا مساوی 5 باشه ادامه بده.
  • 📌 i++: بعد از هر بار اجرا، i رو یک واحد افزایش بده.

۲.حلقه while (وقتی تعداد تکرار مشخص نیست 🤔)

ساختار کلی

while (شرط) {
// کدی که تکرار میشه
}

مثال

عدد 10 رو هر بار 2 واحد کم میکنیم تا به صفر برسه:

let num = 10;
while (num > 0) {
console.log(num); // 10, 8, 6, 4, 2
num -= 2;
}

۳. حلقه do...while (حداقل یکبار اجرا میشه 🔄)

ساختار کلی

do {
// کدی که حداقل یکبار اجرا میشه
} while (شرط);

مثال

حتی اگر شرط برقرار نباشه، یکبار اجرا میشه:

let x = 5;
do {
console.log("من حداقل یکبار چاپ میشم! 💪");
} while (x < 3);

۴. حلقه for...of (برای آرایه ها و رشته ها 🍎🍌🍊)

ساختار کلی

for (عنصر of آرایه/رشته) {
// کد
}

مثال

چاپ میوههای یک آرایه:

const fruits = ["سیب", "موز", "پرتقال"];
for (const fruit of fruits) {
console.log(fruit); // سیب, موز, پرتقال
}

۵. حلقه for...in (برای آبجکتها 🗝️🔍)

ساختار کلی

for (کلید in آبجکت) {
// کد
}

مثال

چاپ میوههای یک آرایه:

const user = {
name: "نوحی",
age: 25,
job: "Developer"
};

for (const key in user) {
console.log(`${key}: ${user[key]}`);
// name: نوحی
// age: 25
// job: Developer
}

۶. متد forEach (مخصوص آرایه ها 📋)

ساختار کلی

آرایه.forEach(تابع);

مثال

ضرب هر عدد در 2:

const numbers = [1, 2, 3];
numbers.forEach((num) => {
console.log(num * 2); // 2, 4, 6
});

۷.جمعبندی تفاوتها 🧐📊

حلقه 🔁کاربرد اصلی 🎯✅ مزایا 💚❌ محدودیتها 🔴
for 🏋️تکرار با تعداد مشخص 🔢انعطافپذیر، کنترل کامل روی ایندکسنیاز به تنظیم دستی شمارنده
while 🤔تکرار تا برقراری شرط ⚖️مناسب شرطهای پیچیده، سینتکس سادهاحتمال حلقه بینهایت 🔄🔥
do...while 🔄حداقل یکبار اجرا کد 💪تضمین اجرا حتی با شرط غلطکمکاربرد در مقایسه با while
for...of 🍎🍌🍊پیمایش آرایه/رشته/مقادیر 📦خوانایی بالا، نیازی به ایندکس نداردفقط برای Iterableها (مثل Map، Set، آرایه)
for...in 🗝️🔍پیمایش کلیدهای آبجکت 🧰مناسب اشیاء، دسترسی به پراپرتیهاعدم تضمین ترتیب کلیدها، نامناسب برای آرایه ها
forEach 📋اجرای تابع برای هر عنصر آرایه 🎛️سینتکس مدرن و خلاصهعدم امکان استفاده از break یا return وسط حلقه

نکات طلایی 🌟

  • 🚨 از for...in برای آرایه ها استفاده نکنید! (مخصوص آبجکتهاست)
  • 🔥 در while حتما شرط را بهدرستی بهروزرسانی کنید تا حلقه بینهایت نشود.
  • 💡 اگر نیاز به توقف حلقه دارید، از for یا for...of با break استفاده کنید.
  • 🛠️ forEach یک متد آرایه است، نه یک حلقه سنتی!

همین! 🎉 حالا شما میتونید با حلقه ها در جاوااسکریپت کدهای حرفه ای تر بنویسید. یادتون باشه تمرین کنید تا ملکه ذهنتون بشه! 💻🚀

با آرزوی موفقیت
تیم برندآرا 🤖