در این بخش از سری آموزش جاوا اسکریپت قصد داریم به شما نحوه نوشتن کد تصمیم گیری با استفاده از دستور شرطی if…else در جاوا اسکریپت را نشان بدیم.
دستورات شرطی در جاوا اسکریپت
همانند دیگر زبان های برنامه نویسی, جاوا اسکریپت نیز به شما اجازه نوشتن کد برای انجام عملیات مختلف برا اساس نتایج منطقی یا مقایسه ای در زمان اجرا را می دهد.
به این معنا که می توانید از شرایط تست در فرم عبارات که نماینده true
یا false
هستند استفاده کرده و بر اساس نتایج آن عملیات خاصی را انجام بدید.
چندین دستور شرطی در جاوا اسکریپت برای تصمیم گیری وجود دارد
- دستور if
- دستور if…else
- دستور if…else if…else
- دستور switch…case
در مورد هر کدام از دستورات بالا با جزییات در بخش های بعدی صحبت خواهیم کرد.
دستور if
دستور if برای اجرا کردن بلاک کد زمانی که شرط true
باشد استفاده می شود. این ساده ترین دستور شرطی در جاوا اسکریپت است که بصورت زیر نوشته می شود:
1 2 3 |
if(condition) { // Code to be executed } |
مثال زیر به شما خروجی “Have a nice weekend!” را اگر جمعه باشد نشان می دهد.
1 2 3 4 5 6 |
var now = new Date(); var dayOfWeek = now.getDay(); // Sunday - Saturday : 0 - 6 if(dayOfWeek == 5) { alert("Have a nice weekend!"); } |
دستور شرطی if…else
شما می توانید قابلیت تصمیم گیری در مورد برنامه جاوا اسکریپت خود را با یک انتخاب جایگزین که افزودن else به دستور if است, افزایش بدید.
دستور if…else به شما اجازه می دهد که یک بلاک کردن را اجرا کنید اگر شرط صحیح یا true
بود و بلاک دیگر کد در صورتی که شرط اول false
باشد اجرا می شود.
1 2 3 4 5 |
if(condition) { // Code to be executed if condition is true } else { // Code to be executed if condition is false } |
کد جاوا اسکریپت زیر خروجی “Have a nice weekend!” را برای روز جمعه چاپ می کند و اگر جمعه نبود عبارت “Have a nice day!” نمایش داده می شود.
1 2 3 4 5 6 7 8 |
var now = new Date(); var dayOfWeek = now.getDay(); // Sunday - Saturday : 0 - 6 if(dayOfWeek == 5) { alert("Have a nice weekend!"); } else { alert("Have a nice day!"); } |
دستور if…else if…else
دستور خاص if…else if…else برای ترکیب چندین دستور if…else استفاده می شود.
1 2 3 4 5 6 7 |
if(condition1) { // Code to be executed if condition1 is true } else if(condition2) { // Code to be executed if the condition1 is false and condition2 is true } else { // Code to be executed if both condition1 and condition2 are false } |
مثال زیر عبارت “Have a nice weekend!” را برای روز جمعه چاپ می کند و اگر یکشنبه بود عبارت “Have a nice Sunday!” نمایش و در غیر اینصورت عبارت “Have a nice day!” نمایش داده می شود.
1 2 3 4 5 6 7 8 9 10 |
var now = new Date(); var dayOfWeek = now.getDay(); // Sunday - Saturday : 0 - 6 if(dayOfWeek == 5) { alert("Have a nice weekend!"); } else if(dayOfWeek == 0) { alert("Have a nice Sunday!"); } else { alert("Have a nice day!"); } |
در مورد دستور شرطی switch-case در بخش بعدی صحبت می کنیم.
اپراتور سه تایی
اپراتور سه تایی یک راه کوتاه برای تعریف دستور if…else را در اختیار ما قرار می دهد.
این اپراتور با علامت سوال (?
) شروع و سه اپندر دریافت می کند :
یک شرط برای چک کردن, یک نتیجه برای true
و یک نتیجه نیز برای false
سینتکس ساده آن بصورت زیر است:
1 |
var result = (condition) ? value1 : value2 |
اگر شرط true
باشد که value1
را برگشت می دهد در غیر اینصورت value2
برگشت داده می شود.
برای درک نحوه کار این اپراتور, به مثال زیر توجه کنید:
1 2 3 4 5 6 7 8 |
var userType; var age = 21; if(age < 18) { userType = 'Child'; } else { userType = 'Adult'; } alert(userType); // Displays Adult |
همان کد بالا را با اپراتور سه تایی می توانید بصورت خیلی جمع و جور و ساده تر بنویسید :
1 2 3 |
var age = 21; var userType = age < 18 ? 'Child' : 'Adult'; alert(userType); // Displays Adult |
همانطور که می بینید, مثال تعریف شده مقدار false
را برگشت می دهد پس مقدار سمت راست کولون :
برگشت داده می شود که عبارت Adult است.
نکته: کد نوشته شده با اپراتور سه گانه بعضی مواقع سخت خوانده می شود اما یک روش عالی برای دستورات شرطی if-else کوتاه است.
امیدوارم از قسمت آخر کار با اعداد جاوا اسکریپت نهایت استفاده را برده باشید.
در بخش بعدی با دستور شرطی switch-case آشنا می شوید.
هر سوالی داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .
موفق باشید.