یک دستور شرطی، یک شرط را قبل از اجرای یک دستور مربوطه، بررسی می کند.
ساختارهای شرطی در جاوا اسکریپت مطابق جدول زیر طبقه بندی می شوند
# | دستور | توضیحات |
1 | if | دستور if شامل یک عبارت boolean به همراه یک یا چند دستور است |
2 | if…..else | دستور if می تواند یک else هم داشته باشد. وقتی عبارت بولین false شد، این قسمت اجرا می شود |
3 | else….if | این حالت برای وقتی است که می خواهیم بررسی کنیم که اگر شرط برقرار نبود یعنی مقدار بولین false بود، با یک شرط دستور بعدی در صورت برقراری آن شرط اجرا شود. |
4 | Switch…Case | دستور switch یک عبارت را ارزیابی می کند و مقدار عبارت را با یک case مطابقت می دهد و دستور مربوط به case مطابقت داده شده را اجرا می کند |
سینتکس این دستور مطابق زیر است:
if(boolean_expression) { // statement(s) will execute if the Boolean expression is true }
در صورتی که ارزیابی عبارت بولین جلوی if درست (true) باشد، کدهای داخل بلوک اجرا می شود. اگر نتیجه ارزیابی نادرست (false باشد، کدهای داخل بلوک اجرا نمی شوند و اجرای برنامه به بعد از دستور if منتقل می شوند.
فلوچارت
مثال:
var num = 5 if (num>0) { console.log("number is positive") }
خروجی
number is positive
در کد بالا چون نتیجه عبارت درست است کدهای داخل بلوک اجرا شده و عبارت number is positive در خروجی چاپ می شود.
دستور if میتواند یک else هم به صورت اختیاری داشته باشد، قسمت else موقعی اجرا می شود که نتیجه عبارت ارزیابی شده false شود.
سینتکس آن مطابق زیر است:
if(boolean_expression) { // statement(s) will execute if the Boolean expression is true } else { // statement(s) will execute if the Boolean expression is false }
فلوچارت
مثال
var num = 12; if (num % 2==0) { console.log("Even"); } else { console.log("Odd"); }
در مثال بالا، در قسمت if باقی مانده تقسیم num بر 2 را حساب می کنیم، در صورتی که برابر صفر شد، نتیجه عبارت false و قسمت if اجرا می شود. درغیر اینصورت قسمت else اجرا می شود.
خروجی
Even
دستور else…if هم برای بررسی چند شرط بکار می رود. سینتکس آن مطابق زیر است:
if (boolean_expression1) { //statements if the expression1 evaluates to true } else if (boolean_expression2) { //statements if the expression2 evaluates to true } else { //statements if both expression1 and expression2 result to false }
نکاتی که در هنگام استفاده از if..else باید بخاطر داشته باشید:
مثال
var num = 2 if(num > 0) { console.log(num+" is positive") } else if(num < 0) { console.log(num+" is negative") } else { console.log(num+" is neither positive nor negative") }
خروجی
2 is positive
دستور switch یک عبارت را ارزیابی کرده و مقدار عبارت را با یک case مطابقت می دهد و دستور مرتبط با آن case را اجرا میکند.
سینتکس آن مطابق زیر است:
switch(variable_expression) { case constant_expr1: { //statements; break; } case constant_expr2: { //statements; break; } default: { //statements; break; }
مقدار variable_expression با همه caseها ارزیابی می شود، در صورتی که با یک case مطابقت پیدا کرد، کد مربوط به آن case اجرا می شود. و در صورتی که با هیچ کدام از caseها مطابق پیدا نکرد، کد مربوط به قسمت default اجرا می شود.
قوانین زیر در مورد یک دستور switch وجود دارد:
فلوچارت
مثال
var grade = "A"; switch(grade) { case "A": { console.log("Excellent"); break; } case "B": { console.log("Good"); break; } case "C": { console.log("Fair"); break; } case "D": { console.log("Poor"); break; } default: { console.log("Invalid choice"); break; }
خروجی
Excellent
دستور switch مقدار grade را بررسی کرده و آن را با caseها مطابق می دهد، و اگر با هر کدام از caseها مطابقت پیدا کرد، دستور مربوط به همان case اجرا می شود، و در صورتی که با هیچ کدام مطابقت پیدا نکرد، دستور defaut اجرای می شود.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.