فصل چهارم: دستورات شرطی در اکما اسکریپت

05 شهریور 1397
es6control-instruction

یک دستور شرطی، یک شرط را قبل از اجرای یک دستور مربوطه، بررسی می کند.

فلوچارت دستورات شرطی در اکما اسکریپ

ساختارهای شرطی در جاوا اسکریپت مطابق جدول زیر طبقه بندی می شوند

# دستور توضیحات
1 if دستور if شامل یک عبارت boolean به همراه یک یا چند دستور است
2 if…..else دستور if می تواند یک else هم داشته باشد. وقتی عبارت بولین false شد، این قسمت اجرا می شود
3 else….if این حالت برای وقتی است که می خواهیم بررسی کنیم که اگر شرط برقرار نبود یعنی مقدار بولین false بود، با یک شرط دستور بعدی در صورت برقراری آن شرط اجرا شود.
4 Switch…Case  دستور switch یک عبارت را ارزیابی می کند و مقدار عبارت را با یک case مطابقت می دهد و دستور مربوط به case مطابقت داده شده را اجرا می کند

دستور if

سینتکس این دستور مطابق زیر است:

if(boolean_expression) {  
   // statement(s) will execute if the Boolean expression is true  
}

در صورتی که ارزیابی عبارت بولین جلوی if درست (true) باشد، کدهای داخل بلوک اجرا می شود. اگر نتیجه ارزیابی نادرست (false باشد، کدهای داخل بلوک اجرا نمی شوند و اجرای برنامه به بعد از دستور if منتقل می شوند.

فلوچارت

فلوچارت دستور if در اکما اسکریپت

مثال:

var  num = 5 
if (num>0) { 
   console.log("number is positive") 
}

خروجی

number is positive

در کد بالا چون نتیجه عبارت درست است کدهای داخل بلوک اجرا شده و عبارت number is positive در خروجی چاپ می شود.

دستور if…else

دستور 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  
}

فلوچارت

فلوچارت دستور if...else در اکما اسکریپت

مثال

var num = 12; 
if (num % 2==0) { 
   console.log("Even"); 
} else { 
   console.log("Odd"); 
}

در مثال بالا، در قسمت if باقی مانده تقسیم num بر 2 را حساب می کنیم، در صورتی که برابر صفر شد، نتیجه عبارت false و قسمت if اجرا می شود. درغیر اینصورت قسمت else اجرا می شود.

خروجی

Even

دستور else…if

دستور 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 باید بخاطر داشته باشید:

  • یک دستورif می تواند هیچ یا یک else به همراه خود داشته باشد و بعد از هر دستور else  باید از یک دستور if استفاده کنید.
  • دستور if می تواند صفر یا چندین else…if داشته باشد و باید قبل از else بیاید.
  • هنگامی که یک else….if با موفقیت اجرا شد، بقیه else…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

دستور 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 وجود دارد:

  • می توانید از هر تعداد case در داخل switch استفاده کنید.
  • دستورات case فقط میتواند شامل عبارت ثابت باشد و نمی تواند مثلاً یک متغیر یا یک عبارت باشد.
  • نوع داده variable_expression و مقدار عبارت ثابت باید با هم مطابقت داشته باشند.
  • درصورتی که از یک break بعد از هر بلوک استفاده نکنید، چرخه اجرای برنامه به داخل بلوک بعدی خواهد رفت
  • عبارت case باید منحصر به فرد باشد.
  • بلوک default اختیاری است.

فلوچارت

 فلوچارت دستور switch case در اکما اسکریپت

مثال

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 اجرای می شود.

نویسنده شوید

دیدگاه‌های شما

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.