جاوا اسکریپت یک زبان قدرتمند و همهکاره برای توسعه وب است؛ اما برای ایجاد برنامههای کاربردی وب تعاملی و پویا، کنترل جریان برنامه ضروری است. اینجاست که دستور if وارد میشود. دستور if به شما امکان میدهد بر اساس شرایط خاص، بخشهایی از کد جاوا اسکریپت را اجرا کنید.
فرض کنید میخواهید یک برنامه ساده بنویسید که سن کاربر را بررسی کند و بر اساس آن پیامی را نمایش دهد. بدون دستور if، کد شما کاملاً اجرا میشود، صرف نظر از سن کاربر؛ اما با if، میتوانید کد را هوشمندتر کنید و تنها بر اساس سن مناسب، پیام مربوطه را نمایش دهید.
دستورات شرطی در جاوا اسکریپت
دستور if یکی از چندین دستور شرطی موجود در جاوا اسکریپت است. دستورات شرطی به شما امکان میدهند بر اساس صحت یا عدم صحت یک عبارت (condition)، کد را به صورت مشروط اجرا کنید.
سایر دستورات شرطی رایج عبارتاند از:
- else: این دستور در صورتی که شرط if نادرست باشد، اجرا میشود.
- else if: این دستور به شما امکان میدهد شرایط بیشتری را بررسی کنید. اگر شرط if اولیه نادرست باشد، چندین else if را میتوان زنجیر کرد تا شرایط دیگر را بررسی کند.
ساختار دستور if در جاوا اسکریپت
ساختار اساسی دستور ایف در جاوا اسکریپت به صورت زیر است:
if (condition) { // کد برای اجرا در صورت صحت شرط }
در این مثال، condition یک عبارت است که ارزیابی میشود. اگر عبارت درست باشد (یعنی مقدار آن true باشد)، کد درون بلوک if اجرا میشود.
پیشنهاد مطالعه: آموزش حلقه while در جاوا اسکریپت
مثال: بررسی سن کاربر:
بیایید به مثال سن کاربر که در ابتدا مطرح شد برگردیم. در اینجا نحوه استفاده از دستور if برای بررسی سن و نمایش پیام مناسب آورده شده است:
let age = prompt("لطفا سن خود را وارد کنید:"); if (age >= 18) { console.log("شما به اندازه کافی برای ورود به این وب سایت بزرگسال هستید!"); } else { console.log("متاسفانه، شما به سن قانونی برای دسترسی به این محتوا نرسیده اید."); }
در این مثال، ابتدا با استفاده از prompt سن کاربر را دریافت میکنیم. سپس، یک دستور if در javascript برای بررسی سن استفاده میکنیم. اگر سن کاربر 18 سال یا بیشتر باشد، پیام خوش آمدگویی نمایش داده میشود. در غیر این صورت، پیامی مبنی بر عدم دسترسی به محتوا نمایش داده میشود.
If تو در تو در جاوا اسکریپت
دستور if را میتوان با سایر دستورات شرطی مانند else if برای ایجاد شرایط پیچیدهتر ترکیب کرد. این بهاصطلاح if تو در تو نامیده میشود.
به عنوان مثال، فرض کنید میخواهید یک برنامه بنویسید که بر اساس سن کاربر، تخفیف خاصی را ارائه دهد. میتوانید از ساختار زیر استفاده کنید:
let age = prompt("لطفا سن خود را وارد کنید:"); if (age >= 65) { console.log("شما واجد شرایط تخفیف ویژه سالمندان هستید!"); } else if (age >= 18) { console.log("شما واجد شرایط تخفیف دانشجویی هستید (در صورت داشتن کارت دانشجویی معتبر)."); } else { console.log("در حال حاضر هیچ تخفیف خاصی برای سن شما در نظر گرفته نشده است."); }
در این مثال، ابتدا سن کاربر را بررسی میکنیم. اگر کاربر 65 سال یا بالاتر باشد، تخفیف ویژه سالمندان ارائه میشود. در غیر این صورت، سن را با 18 سال مقایسه میکنیم و در صورت واجد شرایط بودن، تخفیف دانشجویی را پیشنهاد میدهیم.
مثال جامع دستور if در جاوا اسکریپت: شبیهسازی دستگاه فروش بلیط سینما
فرض کنید میخواهیم یک برنامه ساده جاوا اسکریپت برای شبیهسازی دستگاه فروش بلیط سینما بنویسیم. این برنامه باید سن کاربر، نوع فیلم (کمدی، درام یا اکشن) و زمان نمایش (صبح، ظهر یا عصر) را دریافت کند و بر اساس این اطلاعات، قیمت بلیط را محاسبه و نمایش دهد.
کد JavaScript:
JavaScript // دریافت سن کاربر let age = prompt("لطفا سن خود را وارد کنید:"); // تبدیل ورودی کاربر به عدد age = parseInt(age); // دریافت نوع فیلم let movieType = prompt("نوع فیلم را انتخاب کنید (کمدی، درام یا اکشن):"); // دریافت زمان نمایش let showTime = prompt("زمان نمایش را انتخاب کنید (صبح، ظهر یا عصر):"); // قیمت پایه بلیط let basePrice = 10000; // تخفیف سنی let discount = 0; // محاسبه تخفیف سنی if (age < 12) { discount = 50; } else if (age < 65) { discount = 20; } else { discount = 30; } // محاسبه قیمت نهایی let finalPrice = basePrice - (discount / 100) * basePrice; // اضافه کردن هزینه های جانبی if (showTime === "عصر") { finalPrice += 2000; } // نمایش قیمت نهایی console.log("قیمت نهایی بلیط شما:", finalPrice, "تومان");
شرح کد:
- ابتدا سن کاربر، نوع فیلم و زمان نمایش را با استفاده از prompt دریافت میکنیم.
- سن کاربر را با parseInt به عدد تبدیل میکنیم.
- قیمت پایه بلیط را در basePrice ذخیره میکنیم.
- با استفاده از دستورات if تو در تو، تخفیف سنی را بر اساس سن کاربر محاسبه میکنیم.
- قیمت نهایی را با کسر تخفیف از قیمت پایه محاسبه میکنیم.
- با استفاده از دستور if، در صورت انتخاب زمان نمایش “عصر”، 2000 تومان به قیمت نهایی اضافه میکنیم.
- در نهایت، قیمت نهایی بلیط را با استفاده از console.log نمایش میدهیم.
نکات کلیدی:
- در این مثال، از دستورات if تو در تو در جاوا اسکریپت برای بررسی چندین شرط به طور همزمان استفاده شده است.
- میتوانید با اضافه کردن شرایط و محاسبات بیشتر، این برنامه را پیچیدهتر کنید.
- برای خوانایی بیشتر کد، میتوانید از نظرات و فاصله گذاری مناسب استفاده کنید.
مثال پیچیدهتر:
فرض کنید میخواهیم به برنامه قبلی، امکان انتخاب تعداد بلیط و همچنین اعمال تخفیف بیشتر برای خرید گروهی (بیش از 3 بلیط) را اضافه کنیم.
کد JavaScript:
// دریافت سن کاربر let age = prompt("لطفا سن خود را وارد کنید:"); // تبدیل ورودی کاربر به عدد age = parseInt(age); // دریافت نوع فیلم let movieType = prompt("نوع فیلم را انتخاب کنید (کمدی، درام یا اکشن):"); // دریافت زمان نمایش let showTime = prompt("زمان نمایش را انتخاب کنید (صبح، ظهر یا عصر):"); // قیمت پایه بلیط let basePrice = 10000; // تخفیف سنی let discount = 0; // محاسبه تخفیف سنی if (age < 12) { discount = 50; } else if (age < 65) { discount = 20; } else { discount = 30; } // دریافت تعداد بلیط let ticketCount = prompt("تعداد بلیط های مورد نظر خود را وارد کنید:"); // تبدیل ورودی کاربر به عدد ticketCount = parseInt(ticketCount); // محاسبه تخفیف گروهی let groupDiscount = 0; if (ticketCount > 3) { groupDiscount = 10; } // محاسبه قیمت نهایی let finalPrice = basePrice - (discount / 100) * basePrice; finalPrice = finalPrice * ticketCount; // اضافه کردن هزینه های جانبی if (showTime === "عصر") { finalPrice += 2000; } // نمایش قیمت نهایی console.log("قیمت نهایی بلیط های شما:", finalPrice, "تومان");
شرح کد:
- با استفاده از prompt، تعداد بلیطهای مورد نظر کاربر را دریافت میکنیم.
- ورودی کاربر را با parseInt به عدد تبدیل میکنیم.
- با استفاده از دستور if در جاوا اسکریپت، در صورت خرید گروهی (بیش از 3 بلیط)، 10 درصد تخفیف دیگر به قیمت نهایی اضافه میکنیم.
- قیمت نهایی را با ضرب قیمت پایه در تعداد بلیطها محاسبه میکنیم.
- در نهایت، قیمت نهایی بلیط ها را با استفاده از console.log نمایش می دهیم.
مزایای استفاده از دستورات شرطی در این مثال:
- دستورات if به ما امکان میدهند قیمت بلیط را بر اساس سن کاربر، نوع فیلم، زمان نمایش و تعداد بلیطها به طور مشروط محاسبه کنیم.
- این برنامه انعطافپذیری را برای ارائه تخفیفهای مختلف به گروههای مختلف مشتریان فراهم میکند.
- استفاده از دستورات شرطی کد را خواناتر و قابلفهمتر میکند.
حلقههای تکرار و دستور if در javascript
دستور if را میتوان با حلقههای تکرار مانند for یا while برای کنترل جریان برنامه درون حلقهها استفاده کرد. به عنوان مثال، فرض کنید میخواهید فهرستی از اعداد را بررسی کرده و فقط اعداد زوج را چاپ کنید:
let numbers = [1, 2, 3, 4, 5, 6]; for (let i = 0; i < numbers.length; i++) { if (numbers[i] % 2 === 0) { console.log(numbers[i]); } }
در این مثال، از یک حلقه for برای پیمایش لیست numbers استفاده میکنیم. در هر تکرار، شرط if بررسی میکند که آیا عدد فعلی زوج است یا خیر. اگر زوج باشد، عدد با استفاده از console.log چاپ میشود.
پیشنهاد مطالعه: Scope در جاوا اسکریپت چیست؟ آموزش اسکوپ به زبان ساده
Ternary Operator، جایگزینی برای if در جاوا اسکریپت
اپراتور سهگانه (Ternary Operator) یک راه جایگزین و فشردهتر برای نوشتن دستورات if در جاوا اسکریپت است. ساختار آن به صورت زیر است:
condition ? expression1 : expression2
در این مثال، اگر condition درست باشد، expression1 ارزیابی و برگردانده میشود. در غیر این صورت، expression2 ارزیابی و برگردانده میشود.
به عنوان مثال، میتوانید از اپراتور سهگانه برای نوشتن کد بررسی سن کاربر به صورت زیر استفاده کنید:
let message = age >= 18 ? "شما به اندازه کافی بزرگ هستید!" : "شما هنوز به اندازه کافی بزرگ نیستید."; console.log(message);
دستور continue
دستور continue در حلقههای تکرار برای پرش از تکرار فعلی حلقه و رفتن به تکرار بعدی استفاده میشود. به عنوان مثال، فرض کنید میخواهید فهرستی از اعداد را بررسی کنید و فقط اعداد زوج را چاپ کنید، اما میخواهید اعداد زوجی که مضرب 3 هستند را نادیده بگیرید:
let numbers = [1, 2, 3, 4, 5, 6, 9, 12]; for (let i = 0; i < numbers.length; i++) { if (numbers[i] % 2 !== 0) { continue; } if (numbers[i] % 3 === 0) { continue; } console.log(numbers[i]); }
در این مثال، اگر عدد فعلی زوج نباشد، از دستور continue برای رفتن به تکرار بعدی استفاده میشود. همچنین اگر عدد فعلی زوج ولی مضرب 3 باشد، از دستور continue برای نادیده گرفتن آن استفاده میشود.
پیشنهاد مطالعه: تبدیل رشته به عدد در جاوا اسکریپت: ترفندهای کلیدی
دستور break
دستور break در حلقههای تکرار برای خروج کامل از حلقه استفاده میشود. به عنوان مثال، فرض کنید میخواهید فهرستی از اعداد را بررسی کنید و به محض یافتن اولین عدد زوج، از حلقه خارج شوید:
let numbers = [1, 5, 3, 4, 2, 7]; for (let i = 0; i < numbers.length; i++) { if (numbers[i] % 2 === 0) { console.log("اولین عدد زوج:", numbers[i]); break; } }
در این مثال، اگر عدد فعلی زوج باشد، عدد با استفاده از console.log چاپ میشود و سپس از دستور break برای خروج از حلقه استفاده میشود.
دستورات شرطی مانند if، else if و else به شما امکان میدهند جریان برنامه را بر اساس شرایط مختلف کنترل کنید. اپراتور سهگانه و دستورات continue و break به شما انعطافپذیری بیشتری در نحوه مدیریت جریان برنامه در حلقههای تکرار میدهند. با درک و استفاده صحیح از این دستورات، میتوانید برنامههای جاوا اسکریپت قدرتمند و کارآمدی بنویسید که به طور مشروط بر اساس شرایط مختلف عمل میکنند.
چه تفاوتی بین دستورات if و else if وجود دارد؟
دستور if برای بررسی یک شرط واحد استفاده میشود. در صورت صحت شرط، کد درون بلوک if اجرا میشود. در غیر این صورت، کد به طور کامل نادیده گرفته میشود.
دستور else if برای بررسی یک شرط دیگر استفاده میشود، فقط در صورتی که شرط if اولیه نادرست باشد. میتوانید چندین دستور else if را به صورت زنجیر وار برای بررسی شرایط مختلف استفاده کنید.
اپراتور سهگانه چه کاربردی دارد؟
اپراتور سهگانه یک راه جایگزین و فشردهتر برای نوشتن دستورات if ساده است. به جای استفاده از بلوک های if و else جداگانه، میتوانید از اپراتور سهگانه برای ارزیابی یک شرط و تعیین مقدار بر اساس آن در یک خط استفاده کنید.
از دستور continue در چه مواقعی استفاده میشود؟
از دستور continue در حلقههای تکرار برای پرش از تکرار فعلی حلقه و رفتن به تکرار بعدی استفاده میشود. این میتواند برای نادیده گرفتن برخی از موارد خاص در حلقه یا برای اجرای کد فقط برای موارد خاص مفید باشد.
کاربرد دستور break چیست؟
از دستور break در حلقههای تکرار برای خروج کامل از حلقه استفاده میشود. این میتواند برای مواقعی که میخواهید در صورت برآورده شدن یک شرط خاص، از حلقه خارج شوید مفید باشد.
کلام پایانی
دستورات شرطی ابزارهای قدرتمندی در برنامه نویسی جاوا اسکریپت هستند که به شما امکان میدهند جریان برنامه را بر اساس شرایط مختلف کنترل کنید. با درک و استفاده صحیح از این دستورات، میتوانید برنامههای کاربردی وب پویا و کارآمدی بسازید که به طور مشروط بر اساس ورودی کاربر، داده ها یا سایر عوامل عمل میکنند.
امیدوارم این مقاله به شما در درک بهتر دستورات شرطی و مخصوصا دستور if در جاوا اسکریپت و نحوه استفاده از آنها برای ایجاد برنامههای کاربردی قدرتمند کمک کرده باشد. همچنین اگر به فکر یادگیری جاوا اسکریپت به صورت کامل و جامع هستید، پیشنهاد ما به شما استفاده از دورههای پروژه محور آموزش جاوا اسکریپت و آموزش برنامه نویسی مکتب خونه است.
نوشته آموزش دستور if در جاوا اسکریپت به زبان ساده اولین بار در مکتوب. پدیدار شد.
منبع