دستورات شرطی در JS

if و else و else if دستورات شرطی هستند.

if {
    // بلوک کد
} else if {
    // بلوک کد
} else {
    // بلوک کد
}

با کمک دستورات شرطی می توانیم یک بلوک کد را در شرایط خاص اجرا کنیم.

دستور شرطی توضیحات
if به معنی اگر - در صورت وقوع شرط (true بودن) بلوک کد اجرا می شود.
else if به معنی همچنین اگر - در صورت اجرا نشدن شرط های قبلی (if و else if های قبلی) و وقوع شرط (true بودن) بلوک کد اجرا می شود.
else به معنی درغیراین صورت - در صورتی که شرط های قبلی (if و else if های قبلی) رخ ندهد، این بلوک اجرا می شود.

دستور if

دستور if یک دستور شرطی است. و در صورتی که شرط رخ دهد (نتیجه true)، بلوک کد اجرا می شود. 

if (condition) {
    // بلوک کد
}

x = 25;
y = 15;

if (x > y) {
    document.getElementById("demo").innerHTML = "بله";
}

نکته: در یک ساختار شرطی، فقط یک بار از دستور if می توانیم استفاده کنیم. اگر از if جدید استفاده کنیم به این معنی است که if قبلی بدون else if و else تمام شده است.

دستور else if

دستور else if یک دستور شرطی است.

در صورتی که if و else if های قبلی رخ ندهد و همچنین شرط else if کنونی رخ دهد (نتیجه true)، بلوک کد اجرا می شود. 

if (condition1) {
    //  بلوک کد

} else if (condition2) {
    // اگر شرط بالا رخ ندهد
    // و این شرط رخ دهد اجرا می شود

} else if (condition3) {
    // اگر شرط های بالا رخ ندهد
    // و این شرط رخ دهد اجرا می شود

} else {
    //  بلوک کد
}

نکته: دستور else if همیشه بعد از if و قبل از else نوشته می شود.

در نمونه کد زیر دو عدد یکسان را در یک شرط با هم مقایسه و متن را تغییر می دهیم.

x = 25;
y = 25;

if (x > y) {
    document.getElementById("demo").innerHTML = "بله";

} else if (x == y) {
    document.getElementById("demo").innerHTML = "خیر، مساوی هستند.";

}

نکته: در یک ساختار شرطی، بی نهایت بار از دستور else if می توانیم استفاده کنیم.

x = 15;
y = 25;

if (x > y) {
    document.getElementById("demo").innerHTML = "بله";

} else if (x == y) {
    document.getElementById("demo").innerHTML = "خیر، مساوی هستند.";

} else if (x < y) {
    document.getElementById("demo").innerHTML = "خیر";

}

 

نکته: ساختار شرطی به ترتیب اجرا می شود. در صورت برخورد به اولین true، بقیه ساختار چک نمی شود.

 در نمونه کد زیر همانطور که مشاهده می کنید ساختار 2 و ساختار 3 هر دو true هستند ولی فقط ساختار 2 اجرا و باقی ساختار شرطی مورد بررسی قرار نمی گیرد.

if (15 > 20) { // ساختار 1
    document.getElementById("demo").innerHTML = "ساختار 1";

} else if (15 > 10) { // ساختار 2
    document.getElementById("demo").innerHTML = "ساختار 2";

} else if (15 > 5) { // ساختار 3
    document.getElementById("demo").innerHTML = "ساختار 3";

}

دستور else

در صورت رخ ندادن دستور if و else if، دستور else اجرا می شود.

if (condition) {
    //  بلوک کد 

} else if (condition) {
    //  بلوک کد 

} else {
    //  در صورت اجرا نشدن شروط بالا
    //  این بلوک اجرا می شود

}

x = 15;
y = 25;
        
if (x > y) {
    document.getElementById("demo").innerHTML = "بله";

} else if (x == y) {
    document.getElementById("demo").innerHTML = "خیر، مساوی هستند.";

} else {
    document.getElementById("demo").innerHTML = "خیر";

}
توسعه دهندگان
احسان اسلامی