نحوه استفاده از عملگرهای منطقی در جاوا اسکریپت

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

عملگر Not (نقیض ورودی): این عملگر که با علامت ! در جاوا اسکریپت مشخص می گردد، نقیض ورودی می باشد به این معنی که اگر مقداری true باشد آن را به false و اگر false باشد به true تبدیل می کند.

var b = true;
alert(!b); --> false

var c = false;
alert(!b); --> true

عملگر And: از این عملگر به معنی "و" بوده و برای ترکیب سخت گیرانه دو شرط استفاده می شود. عملگر And در سی شارپ با علامت && مشخص می گردد. هنگامی که دو یا چند شرط را با استفاده از عملگر And ترکیب می کنیم، نتیجه تنها در زمانی true خواهد بود که همه شرط ها true باشند و حتی اگر یکی از شرط ها false باشد، نتیجه کلی false خواهد بود.

var a = true;
var b = false;
var c = true;

alert(a && b); --> false
alert(a && c); --> true
alert(b && c); --> false
alert(a && b && c); --> false

عملگر Or: عملگر Or به معنی "یا" بوده و هنگامی که چند شرط توسط این عملگر با یکدیگر ترکیب می شوند، اگر حتی یکی از شرط ها true باشد نتیجه کلی true خواهد بود.

var a = false;
var b = true;
var c = false;

alert(a || b); --> true
alert(a || c); --> false
alert(b || c); --> true
alert(a || b || c); --> true

تمرین: برنامه ای بنویسید که عددی را به عنوان شماره ماه دریافت کرده و نام فصل را نمایش دهد.

تحلیل: همانطور که می دانید 12 ماه وجود و این 12 ماه در 4 فصل تقسیم می شوند. به عبارتی دیگر هر فصل دارای سه ماه می باشد. بنابراین می توان گفت اگر عدد ورودی بین 1 تا باشد در نتیجه منظور کاربر فصل بهار بوده است.

در جاوا اسکریپت هم همانند سی شارپ بازه بین دو عدد به شکل زیر تعیین می گردد.

if(month >= 1 && month <= 3)

یعنی اگر عدد وارد شده بزرگتر مساوی 1 و کوچکتر مساوی 3 بود. بنابراین کدهای برنامه به شکل زیر خواهند بود.

<!DOCTYPE html>
<html>
    <head>
        <title>Beno academy | Javascript</title>
    </head>
    <body>
        <script>
            var month;
   
            month = parseInt(prompt("لطفا شماره ماه را وارد نمایید."));
            if(month >= 1 && month <= 3){
                alert("بهار");
            }
            else if (month >= 4 && month <= 6){
                alert("تابستان");
            }
            else if (month >= 7 && month <= 9){
                alert("پاییز");
            }
            else if (month >= 10 && month <= 12){
                alert("زمستان");
            }
            else{
                alert("عدد وارد شده مجاز نمی باشد.");
            }

        </script>
    </body>
</html>