انواع عملگرهای منطقی در جاوا اسکریپت – از صفر تا صد
درک و یادگیری عملگرهای منطقی در جاوا اسکریپت از مفاهیم بنیادی این زبان بهحساب میآید. این «عملگرها» (اپراتور | Operator) عملیات منطقی روی مقادیر بولی (دودویی) را تسهیل میکنند و به کاربران امکان میدهند مقادیر بولی را بهدلخواه دستکاری کرده و تصمیمات هوشمندانهتری در امور کدنویسی خود بگیرند. یادگیری عملگرهای منطقی در زبان برنامه نویسی جاوا اسکریپت، به کاربران این امکان را میدهند که برنامههای سازماندهی شده خوبی ایجاد کنند.
این آموزش از «مجله فرادرس» به عملگرهای منطقی جاوا اسکریپت میپردازد که شامل عملگر منطقی « NOT (!) »، عملگر منطقی « AND (&&) » و عملگر منطقی « OR (||) » میشود. همچنین در این مطلب انواع عملگر بیتی و تفاوت آنها با عملگرهای منطقی نیز بحث خواهد شد. کاربران با استفاده از این آموزش، نحوه استفاده مؤثر از این عملگرها را یاد خواهند گرفت.
عملگر جاوا اسکریپت چیست؟
عملگرها اجزای اساسی در اکثر زبانهای برنامه نویسی هستند. آنها نمادهایی محسوب میشوند که به مفسر یا کامپایلر دستور میدهند تا اقدامات خاص ریاضی، رابطهای یا منطقی را انجام دهد. جاوا اسکریپت، مانند بسیاری از زبانهای دیگر، انواع مختلفی از عملگرها را در برمیگیرد. عملگرهای جاوا اسکریپت شامل عملگرهای ساده ریاضی مانند «+»، عملگرهایی برای مقایسه مقادیر، عملگرهای منطقی، عملگرهای بیتی و غیره میشوند.
هرکدام از عملگرهای جاوا اسکریپت کاربردهای خاص خودشان را دارند و در سناریوهای مختلفی مورد استفاده قرار میگیرند. در ادامه این بحث انواع عملگرهای بیتی و عملگرهای منطقی در جاوا اسکریپت مورد بررسی واقع خواهند شد.
عملگرهای منطقی در جاوا اسکریپت
عملگرهای منطقی نقش محوری را در جاوا اسکریپت ایفا میکنند و کاربر را قادر میسازند تا متغیرها را مقایسه کرده و بر اساس نتیجه مقایسه اقداماتی را انجام دهد. به عنوان مثال، اگر نتیجه مقایسه TRUE باشد به دنبال آن عمل خاصی انجام بگیرد و برعکس اگر نتیجه مقایسه false بود، عملی دیگر انجام شود. عملگرهای منطقی کدنویسی جاوا اسکریپت را بسیار تسهیل کردهاند. در کل عملگرهای جاوا اسکریپت از نوع منطقی به صورت موارد زیر هستند:
- عملگر منطقی «NOT (!)»
- عملگر منطقی AND (&&)»»
- عملگر منطقی «OR (||)»
در ادامه هرکدام یک از ۳ عملگر منطقی بالا به همراه مثالهایی ساده تشریح خواهند شد.
نکته: در این مطلب هر جا واژه «نادرست» استفاده شد به معنای False و ۰ است و هر جا که واژه «درست» به کار رفت به معنی true و ۱ خواهد بود.
عملگر منطقی NOT در جاوا اسکریپت
در جاوا اسکریپت، عملگر منطقی NOT با علامت تعجب ( ! ) نشان داده میشود. برخلاف محدود بودن به مقادیر بولی، این عملگر منطقی را میتوان برای مقداری واحد از هر نوع اعمال کرد. این عملگر منطقی هنگامی که با مقدار بولی استفاده شود، اگر مقدار False باشد، عملگر true را بازمیگرداند و بالعکس. مثال زیر برای نشان دادن این مفهوم است:
خروجی مثال بالا به صورت زیر است:
true false
در مثال بالا، از آنجا که eligible درست است، !eligible به False ارزیابی خواهد شد. به طور مشابه، !required نادرست است در نتیجه required به true ارزیابی میشود.
عملگر منطقی NOT برای مقادیر غیر بولی
اعمال عملگر NOT به مقدار غیر بولی شامل دو مرحله است: ابتدا مقدار به نوع بولی تبدیل میشود و سپس نفی آن انجام خواهد شد که مثال زیر برای نشان دادن این مفهوم در جاوا اسکریپت ذکر شده است:
عملگر منطقی NOT به عنوان یکی از عملگرهای منطقی در جاوا اسکریپت در این شرایط بر اساس اصول زیر عمل میکند:
- اگر a تعریف نشده باشد، نتیجه درست است.
- اگر a صفر باشد، نتیجه درست است.
- اگر a عددی غیر صفر باشد، نتیجه نادرست است.
- اگر a برابر NaN باشد، نتیجه درست است.
- اگر a شی باشد، نتیجه نادرست است.
- اگر a رشته خالی باشد، نتیجه درست است.
- اگر a رشته غیر خالی باشد، نتیجه نادرست است.
مثال زیر تمام سناریوهایی را نشان میدهد که عملگر منطقی NOT به مقادیر غیر بولی اعمال شده است:
با استفاده از مثال بالا و توجه به جزئیات آن، درک جامعی از عملگر منطقی NOT و رفتار آن در سناریوهای مختلف به دست خواهیم آورد.
عملگر منطقی مضاعف NOT
گاهی ممکن است کاربر با عملگر منطقی مضاعف NOT یا نفی مضاعف ( !! ) مواجه شود. این ساختار از عملگر منطقی NOT دو بار استفاده میکند تا مقدار بولی واقعی متغیری مشخص را آشکار کند. به طور مؤثر، این تکنیک به همان نتیجهای میرسد که با استفاده از تابع Boolean() میتوان به آن نتیجه دست یافت. مثال زیر نحوه استفاده از این عملگر منطقی را نشان میدهد:
در مثال فوق، اولین عملگر NOT، مقدار بولی متغیر counter را نفی میکند. اگر counter در ابتدا true باشد، پس اولین عملگر NOT آن را به false تبدیل میکند و بالعکس. از طرفی دیگر عملگر بعدیNOT نتیجه نفی اولیه را نفی کرده و در نهایت مقدار بولی معتبر متغیر counter را تولید میکند. با استفاده از این رویکرد، ماهیت بولی واقعی متغیر قابل تشخیص خواهد بود. این مفهوم در استفاده از عملگرهای منطقی در جاوا اسکریپت به کاربر این امکان را میدهد که به طور مؤثر مقدار بولی پشت متغیر یا مقادیر را مشخص کرده و درک خود را از رفتار عملگر منطقی NOT تقویت کند.
متغیرها در جاوا اسکریپت – آموزش Variables به زبان ساده
عملگر بیتی NOT در جاوا اسکریپت
عملگر بیتی جاوا اسکریپت «NOT (~)» عملگری واحد است که بر روی عدد صحیح منفردی عمل میکند و باعث وارونگی تمام بیتهای مجزای آن میشود. در اصل این عملگر بیتی، هر بیت ۰ را به ۱ و هر بیت ۱ را به ۰ تبدیل میکند. «سینتکس» (Syntax) عملگر NOT بیتی به صورت زیر است:
در سینتکس بالا، c عملوند موجود در عملیات است. کار عملگر بیتی NOT معکوس کردن تمام بیتهای موجود در عملوند، از جمله بیتهای علامت است. مثال زیر نحوه استفاده از این نوع عملگر بیتی را نشان میدهد:
در مثال ارائه شده، عملگر NOT نوعی وارونگی بیت را در تمام بیتها اعمال میکند (به عنوان مثال، ۰ → ۱ ، ۱ → ۰ ، و غیره) که این کار برای بیتهای علامت نیز اعمال میشود. با درک نقش عملگر NOT بیتی، کاربر توانایی دستکاری دادههای باینری را با معکوس کردن تکتک بیتها به دست میآورد.
عملگر منطقی AND در جاوا اسکریپت
یکی دیگر از عملگرهای منطقی در جاوا اسکریپت، عملگر منطقی AND است. عملگر منطقی AND با دو علامت && نشان داده میشود. میتوان عملگر && را همانطور که در عبارت زیر نشان داده شده است به صورت زیر به کار برد:
وقتی a بتواند به true تبدیل شود، عملگر && مقدار b را به دست میدهد. در غیر این صورت، مقدار a را بازمیگرداند. این اصل به طور مداوم برای تمام مقادیر بولی اعمال میشود. جدول زیر نتایج عملگر && را هنگامی که به دو مقدار بولی اعمال میشود نشان میدهد:
a | b | a && b |
درست | درست | درست |
درست | نادرست | نادرست |
نادرست | درست | نادرست |
نادرست | نادرست | نادرست |
نتیجه عملگر && زمانی درست است اگر هر دو مقدار درست باشند. در غیر این صورت، به نادرست ارزیابی میشود. مثال زیر برای نشان داده این مفهوم آورده شده است:
در مثال بالا، از آنجا که عبارت eligible نادرست است، عبارت eligible && required به نادرست منجر میشود. مثال زیر هم در رابطه با استفاده از این عملگر مهم است:
در مثال بالا، هر دو eligible و e required درست هستند، در نتیجه عبارت eligible && required به درست ارزیابی میشود. توضیحات بالا درک جامعی از عملگر AND منطقی و رفتار آن هنگام ترکیب مقادیر بولی ارائه میدهد.
ارزیابی اتصال کوتاه با اپراتور منطقی (&&)
اپراتور && در جاوا اسکریپت به اصل «ارزیابی اتصال کوتاه» (Short-Circuit Evaluation) پایبند است. این بدان معناست که عملگر && مقدار عملوند دوم را تنها در صورتی ارزیابی میکند که مقدار عملوند اول برای اطمینان از نتیجه نهایی عبارت کافی نباشد. توجه به مثال زیر در این رابطه بسیار مهم است:
خروجی مثال بالا به صورت زیر است:
Infinity
در مثال بالا، b درست است و باعث میشود که عملگر && برای استنباط نتیجه، ارزیابی (۱/۰) را نیز انجام بدهد. همانطور که نشان داده شد، خروجی به Infinity تبدیل میشود. حال به مثال زیر توجه کنید که قطعه کد آن به صورت زیر است:
خروجی کد بالا به صورت زیر است:
false
این بار در مثال بالا با نادرست بودن b ، عملگر && از ارزیابی عبارت دوم پرهیز میکند، زیرا میتواند به طور قطع نتیجه بگیرد که بر اساس مقدار عملوند اولیه. نتیجه نهایی نادرست است. کاربر با درک مفهوم ارزیابی اتصال کوتاه در استفاده از عملگرهای منطقی در جاوا اسکریپت، بینشی در مورد نحوه عملکرد کارآمد اپراتور AND منطقی به دست میآورد، به سرعت نتایج را در صورت امکان تعیین کرده و از ارزیابیهای غیرضروری در صورت نیاز اجتناب میکند.
زنجیره سازی عملگر منطقی AND در جاوا اسکریپت
زنجیرهسازی عملگر به این معنی است که دنبالهای از چند عملگر && را میتوان در عبارتی واحد استفاده کرد. مثال زیر این مفهوم را بیان میکند:
عملگر منطقی && در سناریوی فوق بر اساس اصول زیر عمل میکند:
- مقادیر را در عبارت از چپ به راست ارزیابی میکند.
- به ازای هر مقداری که با آن مواجه میشود آن را به مقداری بولی تبدیل میکند. اگر نتیجه نادرست باشد، ارزیابی متوقف میشود و مقدار اصلی بازگردانده خواهد شد.
- اگر همه مقادیر درست باشند، عملگر مقدار نهایی را بازیابی میکند.
در اصل، عملگر && اولین مقدار نادرستی را که با آن مواجه میشود یا آخرین مقدار را در صورتی که همه مقادیر درست باشند، بازمیگرداند.
عملگر بیتی AND در جاوا اسکریپت
عملگر بیتی «AND (&)» در جاوا اسکریپت برای مقایسه بیتهای متناظر دو عملوند باینری ( اعدادی که صرفاً از ۰ و ۱ تشکیل شدهاند) استفاده میشود. برای هر مجموعه از بیتهای ورودی، بیت حاصل تنها زمانی روی ۱ تنظیم میشود که هر دو بیت ورودی ۱ باشند. در غیر این صورت، روی ۰ تنظیم میشود. دستور عملگر بیتی AND به صورت زیر است:
در مثال بالا، a و b عملوندهایی را نشان میدهند که تحت عملیات بیتی قرار میگیرند. در ادامه نحوه عملکرد عملگر بیتی AND آمده است:
- عملیات AND برای هر جفت بیت متناظر در a و b از راست به چپ اعمال میشود.
- اگر هر دو بیت ۱ باشند، نتیجه ۱ است. اگر هر یک از بیتها ۰ باشند، نتیجه ۰ است.
- نتیجه یک مقدار عددی جدید است که در آن هر بیت نتیجه عملیات AND را روی بیتهای مربوطه a و b منعکس میکند.
مثال زیر در رابطه با این عملگر بیتی بسیار مهم است:
در مثال ارائه شده، a برابر با مقدار ۵۰ در فرمت اعشاری است که معادل باینری آن میشود ۰۰۱۱۰۰۱۰ . همچنین b برابر با ۱۰۰ و معادل باینری آن ۰۱۱۰۰۱۰۰ است. عملگر AND بیتی هر جفت بیت مربوطه را از راست به چپ ارزیابی و تولید میکند. در نهایت در اعمال این عملگر برای دو عملوند نام برد مقدار ۰۰۱۰۰۰۰۰ باینری حاصل میشود که در فرمت اعشار برابر با ۳۲ است. با درک عملکرد عملگر بیتی AND، کاربر بینش ارزشمندی در مورد نحوه پردازش مقادیر باینری به دست میآورد و میتواند دادهها را در سطح بیت دستکاری و تجزیهوتحلیل کند.
عملگر منطقی OR در Javascript
یکی دیگر از عملگرهای منطقی در جاوا اسکریپت، عملگر منطقی OR است که با نماد || نشان داده میشود. میتوان از عملگر || برای مقایسه دو مقدار از هر نوع استفاده کرد. مثال زیر نحوه استفاده از این عملگر منطقی را نشان میدهد:
عملکرد عملگر || از اصل زیر پیروی میکند:
- اگر a را بتوان به true تبدیل کرد، عملگر a را بازمیگرداند. در غیر این صورت، b را بازخواهد گرداند. این اصل حتی برای مقادیر بولی نیز صدق میکند. جدول زیر نتایج عملگر || را بر اساس مقادیر عملوندها نشان میدهد:
a | b | a || b |
درست | درست | درست |
درست | نادرست | درست |
نادرست | درست | درست |
نادرست | نادرست | نادرست |
عملگر || تنها زمانی که هر دو مقدار نادرست باشند، false را بازمیگرداند. اگر هر یک از مقادیر درست باشند، عملگر || مقدار true را به عنوان خروجی به کاربر میدهد. مثال زیر در این رابطه بسیار مهم است:
همچنین توجه به مثال زیر هم خالی از لطف نیست:
در مثال بالا عبارت eligible || required منجر به تولید خروجی false میشود زیرا هر دو مقدار false هستند. با استفاده از توضیحات بالا کاربر ماهیت عملگر منطقی OR و رفتار آن را به عنوان یکی از عملگرهای منطقی در Javascript در هنگام تضاد مقادیر برای تصمیمگیریهای منطقی درک خواهد کرد.
نکته مهم: مشابه عملگر AND، عملگر OR نیز در جاوا اسکریپت به ارزیابی اتصال کوتاه پایبند است. این بدان معناست که اگر اولین مقدار به درستی ارزیابی شود، اپراتور || به ارزیابی مقدار دوم نمیپردازد. درک مفهوم ارزیابی اتصال کوتاه برای درک چگونگی عملکرد مؤثر عملگر OR منطقی و تعیین سریع بر اساس مقادیر ارائه شده، بسیار مهم است.
زنجیره سازی عملگر منطقی OR در جاوا اسکریپت
مشابه عملگر && که قابلیت زنجیرهسازی داشت، میتوان این قابلیت را برای عملگر منطقی || نیز این قابلیت را دارد و میتوان از چند عملگر || در عبارتی واحد استفاده کرد که مثال زیر این موضوع را نشان میدهد:
رفتار عملگر منطقی || در زنجیره سازی به شرح زیر است:
- این عملگر منطقی مقادیر را از چپ به راست ارزیابی میکند.
- برای هر مقداری که با آن مواجه میشود، آن را به مقدار بولی تبدیل میکند. اگر نتیجه این تبدیل درست باشد، ارزیابی متوقف شده و مقدار فعلی بازگردانده میشود.
- اگر همه مقادیر به عنوان نادرست ارزیابی شوند، عملگر منطقی || مقدار نهایی را ارائه میدهد.
در اصل، زنجیرهسازی با عملگر || اولین مقدار حقیقتی را که با آن مواجه میشود، یا آخرین مقدار را در صورت یافتن مقدار درست ارائه میدهد.
عملگر بیتی OR در جاوا اسکریپت
عملگر بیتی «OR (|)» در جاوا اسکریپت بیتهای متناظر دو عملوند را بررسی میکند و اگر یکی یا هر دو بیت ۱ باشند، نتیجه ۱ را بازمیگرداند و اگر هر دو بیت ۰ باشند، ۰ را به عنوان خروجی به کاربر میدهد. دستور عملگر بیتی OR به شرح زیر است:
در سینتکس بالا، a و b عملوندهای درگیر در عملیات هستند. عملکرد عملگر بیتی OR دقیقاً بر عکس عملکرد عملگر بیتی AND است. در اصل عملگر بیتی OR زمانی که هر یک از بیتها ۱ باشند، ۱ را بازمیگرداند و ۰ را فقط زمانی باز خواهد گرداند که هر دوتا بیت ۰ باشند.
مثال زیر نحوه استفاده از این عملگر بیتی را نشان میدهد:
در مثال ارائهشده، عملگر بیتی OR هر جفت بیت مربوطه را از راست به چپ تجزیهوتحلیل میکند که در نتیجه، عدد باینری حاصل ۰۱۱۱۰۱۱۰ است که در مبنای اعشار به ۱۱۸ تفسیر میشود. با عمیق شدن در عملگرهای بیتی، درک تفاوت این عملگرها با عملگرهای منطقی در جاوا اسکریپت آسان خواهد شد.
عملگر بیتی XOR در جاوا اسکریپت
عملگر بیتی «(^) XOR» در جاوا اسکریپت بیتهای متناظر دو عملوند را بررسی کرده و فقط زمانی ۱ تولید میکند که یکی از آنها ۰ و دیگری ۱ باشد. یعنی دو عملوند برعکس همدیگر باشند. در غیر این صورت این عملگر ۰ را بازمیگرداند. یعنی زمانی که هر دوتا عملوند شبیه هم باشند ۰ بازگردانی خواهد شد.
سینتکس عملگر بیتی XOR به شرح زیر است:
در سینتکس فوق، a و b عملوندهای شرکت کننده در عملیات هستند. در اصل میتوان اینگونه بیان کرد که رفتار عملگر بیتی XOR منعکسکننده رفتار عملگرهای بیتی OR و AND است. مثال زیر نحوه استفاده از این عملگر بیتی را نشان میدهد:
در مثال داده شده، عملگر XOR هر جفت بیت مربوطه را از راست به چپ تجزیهوتحلیل میکند و نتیجه را بر اساس بیتهای عملوندها بازمیگرداند. نتیجه عدد باینری عملیات بالا ۰۱۰۱۰۱۱۰ بوده که در مبنای اعشار با عدد ۸۶ است.
صحبت از عملگرهای بیتی در میان عملگرهای منطقی در جاوا اسکریپت به درک تفاوتهای میان این عملگرها کمک میکند و به همین خاطر در ادامه چند نوع عملگر بیتی دیگر نیز مورد بررسی قرار خواهند گرفت.
عملگر بیتی شیفت به چپ در جاوا اسکریپت
عملگر جابهجایی یا شیفت به چپ « << » در جاوا اسکریپت، جابجایی بیتهای عددی معین به سمت چپ را تسهیل میکند. این عملگر به دو عملوند نیاز دارد: عددی که باید جابجا شود و تعداد بیتهایی که شیفت یا جابهجایی بهوسیله آنها اجرا میشود.
سینتکس عملگر بیتی شیفت به چپ در جاوا اسکریپت به صورت زیر است:
در سینتکس فوق، a عملوند عملیات شیفت به چپ را نشان میدهد و b نشاندهنده تعداد بیتهایی است باید جابهجا شوند. عملکرد عملگر شیفت به چپ منوط به جابجایی هر بیت از عملوند به چپ بهوسیله تعداد تعیین شده بیتهای قابل جابهجایی است. هر بیتی که فراتر از مرزهای عملوند جابجا شود نادیده گرفته میشود. مثال زیر نحوه استفاده از این عملگر را نشان میدهد:
در مثال داده شده بالا، عملگر شیفت به چپ مقدار باینری ۰۰۱۱۰۰۱۰ (معادل اعشاری ۵۰ ) را دو مکان به سمت چپ منتقل میکند. نتیجه این جابهجایی صورت گرفته مقدار باینری ۱۱۰۰۱۰۰۰ است که با مقدار اعشاری ۲۰۰ مطابقت دارد. تکنیک شیفت یا جابهجایی بیت میتواند در سناریوهای مختلف برنامه نویسی بسیار ارزشمند باشد.
عملگر بیتی شیفت به راست در جاوا اسکریپت
عملگر شیفت یا جابهجایی به سمت راست «>>» در جاوا اسکریپت امکان جابهجایی به سمت راست بیتها را در عددی خاص فراهم میکند و این در حالی اتفاق میافتد که این عملگر جاوا اسکریپت علامت اصلی عدد را حفظ میکند. این عملگر به دو عملوند نیاز دارد: عددی که باید جابجا شود و تعداد بیتهایی که جابهجایی به وسیله آنها اجرا میشود. سینتکس این عملگر به صورت زیر است:
در سینتکس بالا، a به معنای عملوند برای عملیات شیفت به سمت راست است و b شان دهنده تعداد بیتهایی است که عملوند به وسیله آنها جابهجا میشود. عملگر شیفت به سمت راست مشابه عملگر شیفت به سمت چپ است و فقط نوعی تمایز کلیدی ظرفیت بین آنها وجود دارد که آنهم حفظ علامت اصلی عدد در عملگر شیفت به راست در حین ایجاد تغییرات است. مثال زیر نحوه استفاده از این عملگر را نشان میدهد:
در مثال ارائه شده، عملگر شیفت به سمت راست، مقدار اعشاری -۵۰ (دودویی: ۱۱۰۰۱۱۱۰ ) را دو موقعیت به سمت راست انتقال میدهد که درنهایت مقدار اعشاری -۱۳ را بازگردانی میکند که در مبنای باینری برابر با ۱۱۱۱۰۰۱۱ است.
عملگر شیفت به راست بدون علامت در جاوا اسکریپت
عملگر شیفت به راست بدون علامت در جاوا اسکریپت «>>>» جابجایی به سمت راست بیتها را در عددی معین، همراه با صفر کردن موقعیتهای خالی سمت چپ، امکانپذیر میکند. این عملگر جاوا اسکریپت نیز دو عملوند را میپذیرد. عددی که باید جابجا شود و تعداد بیتهایی که جابهجایی به وسیله آنها اتفاق میافتد. سینتکس این عملگر بیتی در جاوا اسکریپت به صورت زیر است:
در سینتکس فوق، a نماد عملوند برای عملیات شیفت سمت راست در حالی که b نشاندهنده مقدار بیتهایی است که باید جابهجا شوند. عملگر شیفت به سمت راست بدون علامت، عملکرد شیفت به سمت راست معمولی را منعکس میکند. با این حال، برخلاف عملگر شیفت به راست معمولی، عملگر شیفت به راست بدون علامت، علامت عدد را هنگام جابجایی حفظ نمیکند. در عوض، عدد را به عنوان نوعی عدد صحیح بدون علامت تفسیر خواهد کرد و یک عدد صفر را در سمت چپترین موقعیت بیت قرار میدهد. مثال زیر نحوه استفاده از این عملگر را بیان میکند:
در مثال بالا، عملگر بدون علامت شیفت به سمت راست، نمایش باینری -۵ را دو مکان به سمت راست منتقل خواهد کرد که در نتیجه آن علامت عدد حذف شده و مقدار اعشاری ۱۰۷۳۷۴۱۸۲۲ به دست خواهد آمد.
تقدم عملگرهای منطقی در جاوا اسکریپت چگونه است؟
هنگام ترکیب چند عملگر منطقی در عبارتی واحد، موتور جاوا اسکریپت دنباله خاصی از ارزیابی را برای این عبارت انجام میدهد. این دنباله که به عنوان «اولویت عملگرها» شناخته میشود، ترتیب ارزیابی عملگرهای منطقی را دیکته میکند. در اصل، اولویت عملگر نوعی سلسلهمراتب ارزیابی عملگر منطقی را در عبارتی ایجاد میکند.
اولویت عملگر منطقی در جاوا اسکریپت به ترتیب عملگر منطقی NOT، عملگر منطقی AND و عملگر منطقی OR هستند. یعنی در این بین عملگر منطقی NOT دارای بالاترین اولویت و عملگر منطقی OR دارای پایینترین اولویت است. درک تقدم عملگرهای منطقی برای پیشبینی دقیق نحوه ارزیابی عبارات مربوط به این عملگرها اهمیت زیادی دارد.
کاربرد عملگرهای بیتی در جاوا اسکریپت چیست؟
عملگرهای بیتی قابلیت دستکاری بیتهای خاص در اعداد باینری را ارائه میدهند. این عملگرها ساخت برنامههای مختلف را با قابلیتهای پیچیدهای امکانپذیر میکنند که ممکن است انجام این عملیاتهای محاسباتی در حالت معمولی چالشبرانگیز باشند. مهارت در استفاده از عملگرهای بیتی و عملگرهای منطقی در جاوا اسکریپت به کاربران کمک میکند کدنویسی کارآمدتری انجام دهند.
تفاوت عملگرهای بیتی و عملگرهای منطقی در جاوا اسکریپت چیست؟
تفاوت اصلی عملگرهای بیتی و عملگرهای منطقی در جاوا اسکریپت در ماهیت اساسی آنها نهفته است. عملگرهای بیتی به طور پیچیده تکتک بیتها را دستکاری میکنند و عملیات را در سطح باینری انجام میدهند. برعکس، عملگرهای منطقی برای تصمیمگیریها استفاده میشوند و بر اساس شرایط چندوجهی تصمیمی اتخاذ میکنند. این تمایز بر نقش اساسی این عملگرها در برنامه نویسی و تأمین نیازهای محاسباتی متمایز تأکید میکند.
در کل میتوان تفاوت این عملگرها را در موارد زیر خلاصه کرد:
- دامنه عملیاتی: عملگرهای بیتی تکتک بیتها را دستکاری کرده و عملیات را در سطح باینری اجرا میکنند. از طرف دیگر عملگرهای منطقی در تصمیمگیری و محاسبات منطق محور مورد استفاده قرار میگیرند.
- عملکرد: عملگرهای بیتی عملیات را روی بیتها انجام میدهند و محاسبات بیتی را پیش میبرند. از طرفی دیگر عملگرهای منطقی با استفاده از مقایسههای منطقی تصمیمگیری را بر اساس شرایط متعدد تسهیل میکنند.
- نماد عملگر: عملگرهای بیتی شامل نمادهایی مانند «&، |، ^، ~، << ، >>» را در برمیگیرند و از طرفی دیگر عملگرهای منطقی عبارتاند از &&، ||، ! .
- کاربرد: عملگرهای بیتی برای کارهایی که شامل دستکاری و بهینهسازی در سطح بیت هستند استفاده میشوند و در طرف مقابل عملگرهای منطقی نقش محوری در تصمیمگیری، انشعاب و ارزیابیهای مشروط ایفا میکنند.
سخن پایانی
درک عملگرهای منطقی در جاوا اسکریپت برای برنامه نویسی مؤثر با این زبان محبوب بسیار ضروری است در مطلب فوق از مجله فرادرس انواع اپراتورهای منطقی در جاوا اسکریپت به همراه نحوه کاربرد آنها در قالب مثالهای عملی و ساده ارائه شد. در این مطلب ما مفاهیم زیر را یاد گرفتیم.
- عملگر منطقی NOT نوعی مقدار بولی را معکوس میکند. استفاده از عملگر منطقی NOT مضاعف مقادیر را به نمایش بولی واقعی آنها تبدیل خواهد کرد.
- عملگر منطقی AND دو مقدار بولی را ارزیابی میکند و فقط زمانی True به دست میآید که هر دو عملوند True باشند.
- عملگر منطقی OR دو مقدار بولی را پردازش کرده و اگر هر یک از عملوندها True باشند، True تولید میکند.
- هر دو عملگر منطقی AND و OR از قابلیتی به نام اتصال کوتاه پشتیبانی میکنند. علاوه بر این، این عملگرها را میتوان با مقادیر غیر بولی استفاده کرد.
- اولویت عملگر برای عملیات منطقی به این صورت است که بالاترین اولویت برای NOT، به دنبال آن AND و سپس OR خواهد بود.