۶.حلقه ها در جاوااسکریپت 🔄✨
سلام دوستان! 😊 امروز میخوایم با حلقه ها (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یک متد آرایه است، نه یک حلقه سنتی!
همین! 🎉 حالا شما میتونید با حلقه ها در جاوااسکریپت کدهای حرفه ای تر بنویسید. یادتون باشه تمرین کنید تا ملکه ذهنتون بشه! 💻🚀
با آرزوی موفقیت
تیم برندآرا 🤖