آموزش حلقه While در جاوا اسکریپت به زبان ساده
در دنیای برنامهنویسی، حلقههای کنترلی (Control Loops) یکی از ارکان اصلی به شمار میروند. حلقهها به ما این امکان را میدهند تا بلاکی از کد را بارها و بارها اجرا کنیم، بدون اینکه مجبور باشیم آن را به صورت دستی تکرار کنیم. این کار باعث صرفهجویی در زمان و کد میشود و خوانایی برنامه را نیز افزایش میدهد. در این میان حلقه While در جاوا اسکریپت یکی از کاربردیترین حلقهها جهت پیمایش و انجام عملیات تکرار روی کدها است.
در واقع جاوا اسکریپت از چندین نوع حلقه کنترلی مختلف پشتیبانی میکند که یکی از آنها حلقه While است. حلقه While در Javascript به ما این امکان را میدهد تا زمانی که یک شرط خاص برقرار است، یک بلاک از کد را اجرا کنیم.
درک حلقه While در جاوا اسکریپت
فرض کنید میخواهیم ۱۰ بار یک پیام را روی صفحه نمایش چاپ کنیم. بدون استفاده از حلقه، باید این کار را به صورت دستی انجام دهیم:
console.log("پیام شماره ۱");
console.log("پیام شماره ۲");
// و غیره تا پیام شماره ۱۰
این روش برای تکرارهای کم کارآمد است اما برای تکرارهای زیاد خستهکننده و مستعد خطا میشود. حلقه While راهحلی برای این مشکل است.
ساختار کلی یک حلقه While به صورت زیر است:
while (شرط) {
// بلاک کد که باید تکرار شود
}
در این سینتکس حلقه While در javascript، شرط یک عبارت بولی است که در ابتدای هر بار اجرای حلقه ارزیابی میشود. اگر شرط درست باشد، بلاک کد داخل حلقه اجرا خواهد شد. سپس، شرط دوباره ارزیابی میشود و این فرآیند تا زمانی که شرط نادرست شود، ادامه مییابد.
پیشنهاد مطالعه: آموزش جاوا اسکریپت در ویژوال استودیو
مثالی از حلقه وایل در جاوا اسکریپت: چاپ ۱۰ پیام با حلقه While
بیایید ببینیم چگونه میتوانیم از حلقه While در جاوا اسکریپت برای چاپ ۱۰ پیام روی صفحه نمایش استفاده کنیم:
JavaScript
let counter = 0;
while (counter < 10) {
console.log("پیام شماره", counter + 1);
counter++;
}
در این مثال، ما یک متغیر به نام counter تعریف کردهایم که تعداد دفعات اجرای حلقه را نگه میدارد. شرط حلقه این است که counter کمتر از ۱۰ باشد. در داخل حلقه، پیام با شماره مربوطه چاپ میشود و سپس مقدار counter یک واحد افزایش مییابد. این فرآیند تا زمانی که counter به ۱۰ برسد، ادامه مییابد و در نهایت، حلقه متوقف میشود.
حلقههای تو در تو در جاوا اسکریپت
حلقههای While جاوا اسکریپت را میتوان درون همدیگر قرار داد (حلقههای تو در تو) تا الگوهای تکرار پیچیدهتری ایجاد کنیم. برای مثال، فرض کنید میخواهیم ۵ بار یک پیام را چاپ و در هر بار چاپ، آن را ۳ بار تکرار کنیم. میتوانیم از دو حلقه While تو در تو برای دستیابی به این هدف استفاده کنیم:
let outerCounter = 0; while (outerCounter < 5) { let innerCounter = 0; while (innerCounter < 3) { console.log("پیام"); innerCounter++; } outerCounter++; }
حلقه خارجی ۵ بار اجرا میشود و در هر بار اجرا، حلقه داخلی ۳ بار اجرا میشود.
انواع حلقه ها در جاوا اسکریپت
علاوه بر حلقه While، جاوا اسکریپت از حلقههای کنترلی دیگری مانند حلقه For و حلقه For-Of نیز پشتیبانی میکند.
- حلقه For: حلقه For شبیه حلقه While است، اما ساختار سینتکسی مختصری دارد که اغلب برای پیمایش با شمارنده مناسبتر است.
- حلقه For-Of: حلقه For-Of برای پیمایش روی عناصر قابل شمارش (Iterable) مانند آرایهها و رشتهها استفاده میشود.
خروج زودهنگام از حلقه While در جاوا اسکریپت
ممکن است بخواهیم در شرایط خاصی، پیش از اینکه شرط حلقه نادرست شود، از آن خارج شویم. در جاوا اسکریپت، دو دستور برای خروج زودهنگام از حلقه وجود دارد:
- دستور Break: دستور Break باعث میشود اجرای حلقه به طور کامل متوقف شود، حتی اگر شرط حلقه همچنان درست باشد.
- دستور Continue: دستور Continue باعث میشود اجرای فعلی حلقه نادیده گرفته شود و به سراغ اجرای بعدی برویم.
مثال: خروج از حلقه While با Break
فرض کنید میخواهیم ۱۰ بار یک عدد تصادفی بین ۱ و ۱۰ تولید کنیم و اگر عدد تولید شده برابر با ۵ بود، از حلقه خارج شویم. میتوانیم از دستور Break برای این کار استفاده کنیم:
while (true) { let randomNumber = Math.floor(Math.random() * 10) + 1; console.log(randomNumber); if (randomNumber === 5) { break; } }
در این مثال، حلقه While در جاوا اسکریپت تا زمانی که عدد تصادفی برابر با ۵ نباشد، اجرا میشود. در غیر این صورت، با استفاده از دستور Break از حلقه خارج میشویم.
پیشنهاد مطالعه: آموزش ساخت سبد خرید با جاوا اسکریپت به صورت گام به گام
دستور Continue در حلقه While
دستور Continue باعث میشود اجرای فعلی حلقه نادیده گرفته شود و به سراغ اجرای بعدی برویم. برای مثال، فرض کنید میخواهیم اعداد ۱ تا ۱۰ را چاپ کنیم، به جز عدد ۵. میتوانیم از دستور Continue برای این کار استفاده کنیم:
let counter = 0; while (counter < 10) { counter++; if (counter === 5) { continue; } console.log(counter); }
در این مثال، اگر counter برابر با ۵ باشد، دستور Continue اجرا میشود و به سراغ اجرای بعدی حلقه میرویم. در نتیجه، عدد ۵ چاپ نمیشود.
Try-Catch در حلقه While
ممکن است در داخل حلقه While جاوا اسکریپت با خطاهایی مواجه شویم. برای مدیریت خطاها، میتوانیم از بلوک Try-Catch استفاده کنیم. برای مثال، فرض کنید میخواهیم اعداد ۱ تا ۱۰ را به توان ۲ برسانیم، اما اگر عددی غیرعددی وارد شد، آن را نادیده بگیریم:
let counter = 0; while (counter < 10) { try { let number = parseInt(prompt("یک عدد وارد کنید:")); let result = number * number; console.log(result); } catch (error) { console.error("ورودی نامعتبر"); } counter++; }
در این مثال، اگر کاربر عددی غیرعددی وارد کند، بلوک Catch اجرا میشود و پیام “ورودی نامعتبر” چاپ میشود.
نکات مهم در مورد حلقه While در جاوا اسکریپت
در استفاده از حلقه وایل در جاوا اسکریپت نکات زیر را مد نظر داشته باشید:
- از حلقه While برای تکرار بلاکهای کد تا زمانی که یک شرط خاص برقرار است، استفاده کنید.
- ساختار کلی حلقه While شامل شرط و بلاک کد است.
- حلقههای While را میتوان درون همدیگر قرار داد (حلقههای تو در تو) تا الگوهای تکرار پیچیدهتری ایجاد کنید.
- از دستور Break برای خروج زودهنگام از حلقه While استفاده کنید.
- از دستور Continue برای نادیده گرفتن اجرای فعلی حلقه While و رفتن به سراغ اجرای بعدی استفاده کنید.
- از بلوک Try-Catch برای مدیریت خطاها در داخل حلقه While استفاده کنید.
چه زمانی از حلقه While استفاده کنیم؟
از حلقه While زمانی استفاده میکنیم که بخواهیم یک بلاک کد را تا زمانی که یک شرط خاص برقرار است، تکرار کنیم.
تفاوت حلقه While و حلقه For چیست؟
حلقه For شبیه حلقه While است، اما ساختار سینتکسی مختصری دارد که اغلب برای تکرار با شمارنده مناسبتر است.
چگونه میتوانیم از حلقه While برای تکرار روی آرایهها یا رشتهها استفاده کنیم؟
برای تکرار روی آرایهها یا رشتهها میتوانیم از حلقه For-Of استفاده کنیم.
چگونه میتوانیم از دستور Break در حلقه While استفاده کنیم؟
از دستور Break برای خروج زودهنگام از حلقه While استفاده میکنیم.
پیشنهاد مطالعه: آموزش جاوا اسکریپت در طراحی سایت – کاربردها و مزایا
چگونه میتوانیم از دستور Continue در حلقه While استفاده کنیم؟
از دستور Continue برای نادیده گرفتن اجرای فعلی حلقه While و رفتن به سراغ اجرای بعدی استفاده میکنیم.
کلام پایانی
حلقه While یکی از ابزارهای قدرتمند در جاوا اسکریپت برای تکرار بلاکهای کد است. با درک نحوه عملکرد حلقه While در جاوا اسکریپت و استفاده از آن به طور صحیح، میتوانید برنامههای کارآمدتر و خواناتر بنویسید.
اگر دوست دارید در برنامه نویسی جاوا اسکریپت موفق شوید و به صورت حرفهای این زبان را یاد بگیرید، بایستی در کنار تلاس و کوشش از منابع آموزشی معتبری هم استفاده کنید. مکتب خونه به عنوان یکی از معتبرترین مراکز آموزش آنلاین برنامه نویسی همواره کوشیده است تا بهترین دورههای آموزشی را در اختیارتان قرار دهد. در مکتب خونه انواع دوره آموزش برنامه نویسی، آموزش جاوا اسکریپت و آموزش طراحی سایت برای کمک به کاربران با قابلیت اعطای گواهینام موجود است.