عملگرها در جاوا اسکریپت: عملگرهای منطقی، ریاضی و مقایسه‌ای

عملگرها در جاوا اسکریپت: عملگرهای منطقی، ریاضی و مقایسه‌ای

عملگرها در جاوا اسکریپت نقش اساسی در انجام عملیات مختلف در این زبان برنامه‌نویسی دارند؛ از انجام محاسبات ساده ریاضی گرفته تا عملیات منطقی پیچیده. درک اینکه عملگرها در جاوا اسکریپت به چه صورت کار می‌کنند کلید حرفه‌ای شدن در زبان برنامه‌نویسی جاوا اسکریپت است.

نقش عملگرها در جاوا اسکریپت چیست؟

برای بررسی عملگرها در جاوا اسکریپت، اجازه دهید عبارت ساده ۴ + ۵ برابر با ۹ را در نظر داشته باشیم. در اینجا ۴ و ۵ عملوند و + را عملگر می نامند. جاوا اسکریپت از انواع عملگرهای زیر پشتیبانی می کند.

  • عملگرهای ریاضی
  • عملگرهای مقایسه ای
  • عملگرهای منطقی (یا نسبی)
  • عملگرهای تخصیصی
  • عملگرهای شرطی (یا سه ارزشی)

عملگرهای ریاضی

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

متغیرهای جاوااسکریپت: نوع داده و نام متغیر در جاوااسکریپت

فرض کنید که متغیر A مقدار ۱۰ و متغیر B مقدار ۲۰ را در خود جای داده اند

شمارهعملگر و توضیح
۱+ (افزودن)
افزودن دو عملوند
مثلا: A + B مقدار ۳۰ را خواهد داد
۲– (منها)
منهای عملوند دوم از اول
مثلا: A-B مقدار ۱۰- خواهد داد
۳* (ضرب)
ضرب دو عملوند
مثلا: A*B  مقدار ۲۰۰ خواهد داد
۴/ (تقسیم)
تقسیم مقسوم توسط مقسوم علیه
مثلا: B/A مقدار ۲ خواهد داد
۵% (باقیمانده)
مقدار صحیح باقیمانده حاصل از تقسیم دو عدد را می دهد
مثلا: B%A مقدار ۰ خواهد داد
۶++ (فزاینده)
مقدار یک عدد صحیح را یک عدد افزایش می دهد
مثلا ++A مقدار ۱۱ خواهد داد
۷— (کاهنده)
مقدار یک عدد صحیح را یک عدد کاهش می دهد
مثلا –A مقدار ۹ خواهد داد

به خاطر داشته باشید که عملگر افزودن (+) با اعداد و همینطور رشته کار می کند. مثلا عبارت a + 10 مقدار “a10” خواهد داد.

مثال: کد زیر نشان می دهد که چگونه از عملگرهای ریاضی در جاوااسکریپت استفاده کنیم.

<html>
   <body>
   
      <script type = "text/javascript">
         <!--
            var a = 33;
            var b = 10;
            var c = "Test";
            var linebreak = "<br />";
         
            document.write("a + b = ");
            result = a + b;
            document.write(result);
            document.write(linebreak);
         
            document.write("a - b = ");
            result = a - b;
            document.write(result);
            document.write(linebreak);
         
            document.write("a / b = ");
            result = a / b;
            document.write(result);
            document.write(linebreak);
         
            document.write("a % b = ");
            result = a % b;
            document.write(result);
            document.write(linebreak);
         
            document.write("a + b + c = ");
            result = a + b + c;
            document.write(result);
            document.write(linebreak);
         
            a = ++a;
            document.write("++a = ");
            result = ++a;
            document.write(result);
            document.write(linebreak);
         
            b = --b;
            document.write("--b = ");
            result = --b;
            document.write(result);
            document.write(linebreak);
         //-->
      </script>
      
      Set the variables to different values and then try...
   </body>
</html>

خروجی:

a + b = 43
a - b = 23
a / b = 3.3
a % b = 3
a + b + c = 43Test
++a = 35
--b = 8
Set the variables to different values and then try...

عملگرهای مقایسه ای

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

فرض کنید که متغیر A مقدار ۱۰ و متغیر B مقدار ۲۰ را در خود جای داده است.

شمارهعملگر و توضیح
۱ == (برابری)
بررسی می کند که آیا مقدار دو عملوند برابر هستند یا خیر، سپس شرط صحیح می شود
مثلا: (A==B) مقدار true نمی دهد
۲=! (نابرابر)
بررسی می کند که آیا دو عملوند برابر هستند یا خیر، سپس در صورت عدم برابری مقدار true باز میگرداند
مثلا: (A!=B) مقدار true می دهد
۳< (بزرگتر از)
بررسی می کند که آیا مقدار عملوند سمت چپ بزرگتر از مقدار عملوند راست باشد و در این صورت مقدار true می دهد
مثلا: (A>B) برابر با true است
۴> (کوچکتر از)
بررسی می کند که آیا مقدار عملوند سمت چپ کوچکتر از مقدار عملوند راست باشد و در این صورت مقدار true می دهد
مثلا: (A<B) برابر با true نیست
۵=< (بزرگتر یا مساوی با)
بررسی می کند که آیا مقدار عملوند سمت چپ بزرگتر و مساوی با مقدار عملوند راست باشد و در این صورت مقدار true می دهد
مثلا: (A>=B) برابر با true نیست
۶=> (کوچکتر یا مساوی با)
بررسی می کند که آیا مقدار عملوند سمت چپ کوچکتر و مساوی با مقدار عملوند راست باشد و در این صورت مقدار true می دهد
مثلا: (A<=B) برابر با true است

مثال: کد زیر نشان می دهد که چگونه می توانید از عملگرهای مقایسهای در جاوااسکریپت استفاده کنید.

<html>
   <body>  
      <script type = "text/javascript">
         <!--
            var a = 10;
            var b = 20;
            var linebreak = "<br />";
      
            document.write("(a == b) => ");
            result = (a == b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a < b) => ");
            result = (a < b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a > b) => ");
            result = (a > b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a != b) => ");
            result = (a != b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a >= b) => ");
            result = (a >= b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a <= b) => ");
            result = (a <= b);
            document.write(result);
            document.write(linebreak);
         //-->
      </script>      
      Set the variables to different values and different operators and then try...
   </body>
</html>

خروجی به این صورت است:

(a == b) => false 
(a < b) => true 
(a > b) => false 
(a != b) => true 
(a >= b) => false 
a <= b) => true
Set the variables to different values and different operators and then try...

عملگرهای منطقی

عملگر منطقی یکی از مهمترین عملگرها در جاوا اسکریپت است. جاوا اسکریپت از عملگرهای منطقی زیر پشتیبانی می کند. فرض کنید که A مقدار ۱۰ و متغیر B مقدار ۲۰ را در خود نگاه داشته است.

شمارهعملگر و توضیح
۱&& (AND منطقی)
اگر هر دو عملوند غیرصفر باشند، سپس مقدار شرط true خواهد شد.
مثلا: (A && B) مقدار true خواهد داد
۲|| (OR منطقی)
اگر یکی از دو عملوند غیرصفر باشند مقدار true خواهد داد.
مثلا: (A && B) مقدار true خواهد داد
۳! (NOT منطقی)
وضعیت منطقی عملوند خود را نقیض خواهد کرد. اگر شرط true باشد سپس این عملگر شرط را false خواهد کرد
مثلا: (A&&B)! مقدار false خواهد داد

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

<html>
   <body>   
      <script type = "text/javascript">
         <!--
            var a = true;
            var b = false;
            var linebreak = "<br />";
      
            document.write("(a && b) => ");
            result = (a && b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a || b) => ");
            result = (a || b);
            document.write(result);
            document.write(linebreak);
         
            document.write("!(a && b) => ");
            result = (!(a && b));
            document.write(result);
            document.write(linebreak);
         //-->
      </script>      
      <p>Set the variables to different values and different operators and then try...</p>
   </body>
</html>

خروجی

(a && b) => false 
(a || b) => true 
!(a && b) => true
Set the variables to different values and different operators and then try...

عملگرهای بیتی

یکی از کاربردی‌ترین عملگرها در جاوا اسکریپت، جاوا اسکریپت از عملگرهای بیتی نیز پشتیبانی می‌کند. فرض کنید که A مقدار ۲ و B مقدار ۳ را در خود داشته باشد.

شمارهعملگر و توضیح
۱& (AND بیتی)
عملیات AND بولینی را بر هر بیت از اعداد صحیح اعمال می کند.
مثلا: (A&B) مقدار ۲ می دهد.
۲| (OR بیتی)
عملیات OR بولینی را بر هر بیت از اعداد صحیح صورت می دهد.
مثلا: (A|B) مقدار ۳ می دهد.
۳^ (XOR بیتی)
عملیات OR انحصاری بولینی را بر روی هر بیت از اعداد انجام می دهد. OR انحصاری بدین معناست که یا عملوند اول true باشد یا دوم، اما نه هر دو.
مثلا: (A^B) مقدار ۱ خواهد داد.
۴~ (نقیض بیتی)
این عملگر تمام بیت ها را نقیض خواهد کرد.
مثلا: (B~) مقدار ۴- دارد.
۵>> (شیفت به چپ)
این عملگر تمام بیت های اولین عملوند را به اندازه عدد دومین عملوند به سمت چپ حرکت خواهد داد. بیت های جدید با مقدار صفر پر خواهند شد. جابجایی یک مقدار به سمت چپ به اندازه یک موقعیت، برابر با ضرب آن عدد در ۲ و جابجایی ۲ موقعیت برابر با ضرب در ۴ و همینطور … می باشد.
مثلا: (A<<1) مقدار ۴ می دهد.
۶<< (شیفت به راست)
عملگر شیفت به راست دودویی. مقدار عملوند چپ را به تعداد عملوند دوم به سمت راست جابجا خواهد کرد.
مثلا: (A>>1) برابر با مقدار ۱ است.
۷<<< (شیفت به راست با مقدار صفر)
این عملگر درست مانند عملگر << است جز اینکه بیت های جابجا شده در سمت چپ همواره مقدار صفر خواهند بود.
مثلا: (A>>>1) مقدار ۱ خواهد داد.

مثال

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

<html>
   <body>   
      <script type = "text/javascript">
         <!--
            var a = 2; // Bit presentation 10
            var b = 3; // Bit presentation 11
            var linebreak = "<br />";
         
            document.write("(a & b) => ");
            result = (a & b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a | b) => ");
            result = (a | b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a ^ b) => ");
            result = (a ^ b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(~b) => ");
            result = (~b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a << b) => ");
            result = (a << b);
            document.write(result);
            document.write(linebreak);
         
            document.write("(a >> b) => ");
            result = (a >> b);
            document.write(result);
            document.write(linebreak);
         //-->
      </script>      
      <p>Set the variables to different values and different operators and then try...</p>
   </body>
</html>

خروجی به صورت زیر خواهد بود:

(a & b) => 2 
(a | b) => 3 
(a ^ b) => 1 
(~b) => -4 
(a << b) => 16 
(a >> b) => 0
Set the variables to different values and different operators and then try...

عملگرهای تخصیصی

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

شمارهعملگر و توضیح
۱= (تخصیصی ساده)
مقادیر را از طریف عملوندهای سمت راست به عملوند سمت چپ منتقل می کند.
مثلا: C=A+B مقدار A+B را به متغیر C تخصیص خواهد داد.
۲=+ (افزودن و تخصیص)
عملوند راست را به عملوند چپ افزوده و نتیجه را به عملوند سمت چپی انتقال می دهد.
مثلا: C+=A برابر است با C=C+A
۳=- (کسر کردن و تخصیص)
عملوند راست را از عملوند چپ کسر کرده و نتیجه را به عملوند سمت چپی انتقال می دهد.
مثلا: C-=A برابر است با C=C-A
۴=* (ضرب کردن و تخصیص)
عملوند راست را در عملوند چپ ضرب کرده و نتیجه را به عملوند سمت چپی انتقال می دهد.
مثلا: C*=A برابر است با C=C*A
۵=/ (تقسیم کردن و تخصیص)
عملوند چپ را بر عملوند راست تقسیم کرده و نتیجه را به عملوند سمت چپی انتقال می دهد.
مثلا: C/=A برابر است با C=C/A
۶=% (باقیمانده و تخصیص)
باقیمانده حاصل تقسیم دو عملوند را به دست آورده و نتیجه را به عملوند سمت چپی انتقال می دهد.
مثلا: C%=A برابر است با C=C%A

مثال زیر را در خصوص عملگرهای تخصیصی ملاحظه کنید:

<html>
   <body>   
      <script type = "text/javascript">
         <!--
            var a = 33;
            var b = 10;
            var linebreak = "<br />";
         
            document.write("Value of a => (a = b) => ");
            result = (a = b);
            document.write(result);
            document.write(linebreak);
         
            document.write("Value of a => (a += b) => ");
            result = (a += b);
            document.write(result);
            document.write(linebreak);
         
            document.write("Value of a => (a -= b) => ");
            result = (a -= b);
            document.write(result);
            document.write(linebreak);
         
            document.write("Value of a => (a *= b) => ");
            result = (a *= b);
            document.write(result);
            document.write(linebreak);
         
            document.write("Value of a => (a /= b) => ");
            result = (a /= b);
            document.write(result);
            document.write(linebreak);
         
            document.write("Value of a => (a %= b) => ");
            result = (a %= b);
            document.write(result);
            document.write(linebreak);
         //-->
      </script>      
      <p>Set the variables to different values and different operators and then try...</p>
   </body>
</html>

خروجی به شکل زیر خواهد بود

Value of a => (a = b) => 10
Value of a => (a += b) => 20 
Value of a => (a -= b) => 10 
Value of a => (a *= b) => 100 
Value of a => (a /= b) => 10
Value of a => (a %= b) => 0
Set the variables to different values and different operators and then try...

سایر عملگرها

دو عملگر دیگر به نام های عملگر شرطی و عملگر typeof وجود دارد که در زیر درباره آنها توضیح داده شده است.

عملگر شرطی (:?)

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

شمارهعملگر و توضیح
۱: ? (شرطی)
اگر شرط صحیح باشد ? مقدار X : در غیر این صورت مقدار Y

مثال: کد زیر را برای درک بهتر عملکرد این عملگر مشاهده کنید.

<html>
   <body>   
      <script type = "text/javascript">
         <!--
            var a = 10;
            var b = 20;
            var linebreak = "<br />";
         
            document.write ("((a > b) ? 100 : 200) => ");
            result = (a > b) ? 100 : 200;
            document.write(result);
            document.write(linebreak);
         
            document.write ("((a < b) ? 100 : 200) => ");
            result = (a < b) ? 100 : 200;
            document.write(result);
            document.write(linebreak);
         //-->
      </script>      
      <p>Set the variables to different values and different operators and then try...</p>
   </body>
</html>

خروجی

((a > b) ? 100 : 200) => 200 
((a < b) ? 100 : 200) => 100
Set the variables to different values and different operators and then try...

عملگر typeof

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

جاوا اسکریپت چیست؟

عملگر typeof برای number، string و boolean بودن بررسی صورت می دهد و در صورت صحیح بودن مقدار true باز می گرداند.

مثلا زیر را در همین رابطه ملاحظه کنید:

<html>
   <body>      
      <script type = "text/javascript">
         <!--
            var a = 10;
            var b = "String";
            var linebreak = "<br />";
         
            result = (typeof b == "string" ? "B is String" : "B is Numeric");
            document.write("Result => ");
            document.write(result);
            document.write(linebreak);
         
            result = (typeof a == "string" ? "A is String" : "A is Numeric");
            document.write("Result => ");
            document.write(result);
            document.write(linebreak);
         //-->
      </script>      
      <p>Set the variables to different values and different operators and then try...</p>
   </body>
</html>

خروجی به صورت زیر خواهد بود:

Result => B is String 
Result => A is Numeric
Set the variables to different values and different operators and then try...

۵ / ۵. ۱

دیدگاه‌ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *