مشخصات مقاله
-
5
-
0.0
-
1850
-
0
-
0
آموزش کار با دستورات شرطی و تصمیم گیری ES6
آموزش کار با دستورات شرطی و تصمیم گیری ES6:
دستورات شرطی ES6 برای انجام کارهای مختلف بر اساس شرایط متفاوت استفاده می شوند. دستورات شرطی قبل از انجام کدهای خود، شرایط را ارزیابی کرده و سپس اقدام مناسب را انتخاب می کنند.
هنگامی که کدهای شرطی را می نویسید، بایستی اقدامات مختلفی را برای تصمیم های متفاوت در نظر بگیرید. با استفاده از دستورات شرطی جاوا اسکریپت، به راحتی می توانید این کار را انجام دهید.
فلوچارت زیر، مراحل کار دستورات شرطی و نحوه تصمیم گیری در آن ها را نشان می دهد:
انواع دستورات شرطی در جاوا اسکریپت ES6:
انواع مختلف دستورات شرطی زبان جاوا اسکریپت ES6 عبارتند از:
- if statement.
- if … else statement.
- if … else if … statement.
- if های تو در تو (Nested if statement) .
- ساختار Switch Statement.
در ادامه به تشریح کامل هریک از ساختارهای شرطی فوق به همراه سورس کد و مثال های عملی خواهیم پرداخت.
آموزش کار با ساختار شرطی if statement:
ساختار شرطی if، ساده ترین نوع دستورات تصمیم گیری جاوا اسکریپت است که در آن تصمیم گرفته می شود. در صورت درست بودن شرط (true)، یک بلاک کد اجرا شود. ساختار دستوری آن به صورت زیر است:
if (condition) {
// block of code will execute if the condition is true
}
اگر شرط (condition) تعیین شده در دستور if، درست باشد (true)، دستورات درون آن اجرا می شود اما اگر شرط درست نباشد (false) دستورات if اجرا نشده و برنامه به خط بعد از دستور if انتقل می یابد.
دستور if حتما بایستی با حروف کوچک نوشته شود. استفاده از حروف بزرگ If یا IF، باعث بروز خطا در جاوا اسکریپت می شود.
فلوچارت نحوه عملکرد و تصمیم گیری ساختار شرطی if به صورت زیر است:
مثال: در کد مثال زیر، یک متغیر به نام x با مقدار 78 ایجاد کرده ایم، سپس در دستور if گفته ایم اگر x از 70 بزرگتر بود، متنی را در خروجی چاپ کند:
var x = 78;
if (x>70) {
console.log("x is greater")
}
خروجی :
x is greater
آموزش کار با ساختار شرطی if … else statement:
ساختار دستوری if … else دارای 2 بلوک کد جدا در قسمت بلوک if و بلوک else می باشد. این ساختار شرطی، نوعی دیگر از دستورات کنترلی جاوا اسکریپت است که به شما امکان کنترل جریان اجرایی کدها را به صورت بهتری ارائه می کند. این ساختار شرطی زمانی استفاده می شود که می خواهید دو شرط متفاوت (Condition) را بررسی کرده و یک مجموعه متفاوت از کد را در صورت درست بودن هر کدام اجرا کنید. بخش else statement در صورتی که شرط تعیین شرط برای بخش if غلط یا false باشد، اجرا می شود.
ساختار دستوری شرط if … else به صورت زیر است:
if (condition)
{
// block of code will execute if the condition is true
}
else
{
// block of code will execute if the condition is false
}
اگر شرط (Condition) درست باشد، بلوک کد بخش if اجرا می شود اما اگر شرط غلط باشد، بلوک دستورات بخش else اجرا می شود.
فلوچارت زیر، مراحل تصمیم گیری و روند اجرای ساختار شرطی if را نشان می دهد:
مثال: در کد مثال عملی زیر، دو متغیر x و y را با مقادیر مشخص تعیین کرده ایم. سپس توسط دستور if گفته ایم بر حسب اینکه x از y بزرگتر باشد یا برعکس، خروجی مناسب را چاپ کند:
var x = 40, y=20;
if (x < y)
{
console.log("y is greater");
}
else
{
console.log("x is greater");
}
خروجی :
x is greater
آموزش کار با ساختار شرطی if … else if … else:
از این ساختار برای چک کردن چندین شرط استفاده می شود. بخش if statement می تواند یک یا چندین ساختار else if statement داشته باشد که همگی بایستی قبل از else پایانی قرار بگیرند. همیشه به خاطر داشته باشید که دستور else بایستی پس از آخرین else if بیاید.
شکل استفاده از ساختار شرطی if … else if … else به صورت زیر است:
if (condition1)
{
// block of code will execute if condition1 is true
}
else if (condition2)
{
// block of code will execute if the condition1 is false and condition2 is true
}
else
{
// block of code will execute if the condition1 is false and condition2 is false
}
مثال: در کد مثال عملی زیر، سه متغیر a، b و c با مقادیر مشخص تعیین کرده ایم. سپس با استفاده از 2 شرط در ساختار شرطی if … else if … else، بزرگترین عدد (که c هست) را پیدا کرده و خروجی متناظر آن را نمایش داده ایم:
var a = 10, b = 20, c = 30;
if( a > b && a > c) {
console.log("a is greater");
} else if( b > a && b > c ) {
console.log("b is greater");
} else {
console.log("c is greater");
}
خروجی :
c is greater
آموزش کار با ساختار شرطی if های تو در تو nested if:
If تو در تو به if ی گفته می شود که خود درون یک ساختار if دیگر است. در این حالت ابتدا شرط if بیرونی چک شده و در صورت درست بودن آن برنامه وارد کد if شده و شرط if درونی را بررسی می کند. ساختار کلی تعریف if های تو در تو به صورت زیر است. در این ساختار if با شرط (condition 2) درون if با شرط (Condition 1) قرار گرفته است:
if (condition1)
{
Statement 1; //It will execute when condition1 is true
if (condition2)
{
Statement 2; //It will execute when condition2 is true
}
else
{
Statement 3; //It will execute when condition2 is false
}
}
مثال: در کد مثال عملی زیر، نحوه کاربرد if های تو در تو را نشان داده ایم:
var num = 20;
if (num > 10)
{
if (num%2==0)
console.log( num+ " is greater than 10 and even number");
else
console.log(num+ " is greater than 10 and odd number");
}
else
{
console.log(num+" is smaller than 10");
}
console.log("After nested if statement");
خروجی :
20 is greater than 10 and even number
آموزش کار با ساختار شرطی switch در ES6:
دستور switch یک ساختار تصمیم گیری شرطی شاخه ای و چند طرفه است که در مواقعی که حالت مختلف تصمیم گیری زیاد است، کاربرد دارد. در برخی موارد، استفاده از دستور switch ساده تر از دستورات if … else است. این دستور عموما زمانی استفاده می شود که تصمیم گیری بر اساس شرط به مقدار یک متغیر خاص بستگی داشته باشد. این دستور می تواند بلوک های کد مختلف را بر حسب مقادیر متفاوت یک عبارت اجرا کند.
دستور switch از دستورات break و default می تواند بهره بگیرد، اما استفاده از آنها اختیاری است. در ادامه به تشریح این دو دستور خواهیم پرداخت.
-
دستور توقف break: برای توقف و خاتمه دادن به ترتیب اجرای دستورات در Switch به کار رفته و استفاده از آن اختیاری است. اگر حذف شود، اجرای تمامی دستورات موجود در بلوک Switch انجام می شود.
اگر از دستور break در یک بلوک Switch استفاده کنید، برنامه از اجرای دستورات بلوک های بعدی صرف نظر می کند. -
دستور پیش فرض default: در این بخش کد پیش فرض ساختار Switch تعیین می شود تا اگر مقدار متغیر سنجش شده با هیچ یک از موارد دستور Switch یکسان نبود، این کد اجرا شود. فقط از یک دستور default در ساختار Switch می توانید استفاده کنید اما کاربرد آن اختیاری است. توصیه می شود برای مدیریت شرایط غیر قابل پیش بینی، حتما دستور default را مقداردهی کنید.
اگر شرط تعیین شده برای دستور Switch با مقدار (Value) هیچ کدام از موارد (Case) های آن یکسان نباشد، کدهای بخش default اجرا می شود.
در هنگام استفاده از دستور Switch موارد زیر را به خاطر بسپارید:
- استفاده از دستورات break و default اختیاری است.
- برای دستور Switch می توانید یک یا چندین حالت (Case) مختلف در نظر بگیرید.
- مقادیر گزینه های حالت های مختلف دستور Switch که به آنها Case می گوییم، فقط می توانند مقادیر ثابت و حروفی باشند، نمی توانند یک دستور یا متغیر باشند.
- تا زمانی که در انتهای دستورات هر بلوک یک دستور break قرار ندهید، اجرای دستورات سایر موارد Switch در بلوک های بعدی نیز ادامه می یابد.
- لازم نیست حتما حالت پیش فرض default در دستور Switch قرار بگیرد.
ساختار دستوری تعریف یک عبارت Switch به صورت زیر است:
switch(expression){
case value1:
//code to be executed;
break; //optional
case value2:
//code to be executed;
break; //optional
......
default:
code to be executed if all cases are not matched;
}
در کد دستور Switch عبارت expression شرط ای معیار مقایسه است و مقدار آن با value های مقابل هر Case چک می باشد. اگر مقدارش با value یک Case برابر باشد، دستورات آن اجرا می شود. استفاده از دستور break اختیاری است اما اگر انتهای یک Case قرار داده نشود، دستورات Case های بعد از آن هم اجرا می شوند. همچنین اگر مقدار شرط expression با مقدار value هیچ Case ای برابر نباشد، دستورات بخش default اجرا می شوند.
فلوچارت زیر نحوه عملکرد و تصمیم گیری در دستور Switch را نشان می دهد:
مثال: در کد مثال زیر متغیر num با مقدار 5 را تعریف کرده و پس از آن به عنوان شرط یا expression دستور Switch استفاده کرده ایم. برنامه مقدار آن را با value هر case مقایسه می کند و چون مقدار با case ششم برابر است، عبارت “Friday” در خروجی چاپ شده است:
var num = 5;
switch(num) {
case 0 : {
console.log("Sunday");
break;
}
case 1 : {
console.log("Monday");
break;
}
case 2 : {
console.log("Tuesday");
break;
}
case 3 : {
console.log("Wednesday");
break;
}
case 4 : {
console.log("Thursday");
break;
}
case 5 : {
console.log("Friday");
break;
}
case 6 : {
console.log("Saturday");
break;
}
default: {
console.log("Invalid choice");
break;
}
}
خروجی :
Friday