آموزش جاوا اسکریپت

آموزش جاوا اسکریپت - عملگرهای محاسباتی

عملگر چیست؟

یک مثال ساده را نگاه کنید  4 +  5 برابر است با 9 . در اینجا 4 و 5 را عملوند و "+"  را عملگر می نامند. جاوا اسکریپت از  انواع عملگر های زیر پشتیبانی می کند:

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

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

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

آن دسته از عملگرهای جاوا اسکریپت که برای محاسبه بکار می روند به ترتیب زیر هستند. فرض کنید متغیر  A برابر با 10 و متغیر B  برابر با 20 است سپس:

ردیف

عملگر

شرح

مثال

1

+ (جمع)

 دو عملوند را جمع می کند

A+B=30

2

-   (تفریق)

دومین عملوند را از اولی کم  می کند

 A-B= -10

3

*  (ضرب)

 عملوندها را در هم ضرب می کند

 A*B= 200

4

/ (تقسیم)

 صورت کسر را توسط مقسوم علیه تقسیم می کند

 B/A= 2

5

% (باقیمانده تقسیم)

باقی مانده از تقسیم عدد صحیح را خروجی می سازد

B%A = 0

6

++ (افزایش یک واحد)

یک واحد (عدد صحیح) افزایش می دهد

A++ =11

7

- -  (کاهش یک واحد)

یک واحد (عدد صحیح) کاهش می دهد

A-- = 9

 

نکته: عملگر جمع (+) هم برای اعداد و هم برای رشته به صورت مشابه استفاده می شود. برای مثال: "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 برابر با 10 و B برابر با 20 است:

ردیف

عملگر

شرح

مثال

1

 == (مساوی)

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

A==B))

شرط true نیست

2

=!   (نامساوی)

چک می کند که آیا مقدار دو عملوند مساوی است یا خیر. اگر NO (نادرست) بود در نتیجه شرط true درست است.

 (A!=B)

شرط true است

3

<  (بزرگ تر از)

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

 (A<B)

شرط true نیست

4

> (کوچکتر از)

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

 (A<B)

شرط true است

5

=< (بزرگتر یا مساوی)

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

(A=<B)

شرط true نیست

6

= > (کوچک تر یا مساوی)

چک می کند که آیا مقدار عملوند سمت چپ کوچک تر یا مساوی عملوند سمت راست است یا خیر. اگر YES (صحیح) بود در نتیجه شرط 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 برابر با 10 و B برابر با 20 است:

ردیف

عملگر

شرح

مثال

1

&& (AND منطقی)

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

(A&&B)

True است

2

|| (OR منطقی)

اگر هر یک از عملوندها صفر نباشند، شرط true (درست) است

(A||B)

True است

3

! (NOT منطقی)

حالت منطقی عملوند آن را تغییر می دهد. اگر شرط درست باشد عملوند منطقی NOT آن را نادرست می کند.

!(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...

 

عملگرهای بیتی (Bitwise)

جاوا اسکریپت از عملگرهای منطقی زیر پشتیبانی می کند. تصور کنید A برابر با 2 و B برابر با 3 است:

ردیف

عملگر

شرح

مثال

1

&  (AND بیتی)

این یک عملیات AND بولین را بر هر  عدد صحیح اجرا می کند

(A & B) برابر است با2

2

| (OR بیتی)

عملیات OR exclusive (انحصاری) بولین را در هر بیت از استدلال عدد صحیح آن انجام می دهد.

(A|B) برابر است با 3

3

^ (XOR بیتی)

عملیات OR exclusive (انحصاری) بولین را در هر بیت از استدلال عدد صحیح آن انجام می دهد. عملیات exclusive OR  به این معنا است که یکی از علوند ها true باشد، نه هر دو.

(A ^ B) برابر است با 1

4

~ (Not بیتی)

این عملگر غیرمستقیم است و با معکوس کردن تمام بیت ها در عملوند عمل می کند

(~B) برابر است با 4-

5

>> (شیفت چپ)

تمام بیت های عملوند اول را توسط تعداد مکان های مشخص شده در عملوند دوم به سمت چپ می برد. بیت های جدید با صفر پر می شوند. تغییر مقدار باقی مانده توسط یک موقعیت معادل ضرب آن در 2 می باشد و تغییر 2 موقعیت برابر با ضرب آن در 4 است و به همین ترتیب ادامه دارد.

(A<<1) برابر است با 4

6

<< (شیفت راست)

عملگر شیفت راست باینری.  مقدار عملگر چپ توسط تعداد بیت های مشخص شده عملگر راست به سمت راست می رود

(A>>1) برابر است با 1

7

<<< (شیفت راست با صفر)

این عملگر مانند عملگر << می باشد، تنها با این تفاوت که بیت های شیفت شده به چپ همیشه صفر هستند.

(A>>>1)  برابر است با 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...

 

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

ردیف

عملگر

شرح

مثال

1

= (توزیع ساده)

مقادیر از سمت راست عملوند به سمت چپ عملوند توزیع می شوند

C = A + B مقدار A+B  را به C می دهد

2

+ = (اضافه کردن و توزیع)

عملوند راست را با عملوند چپ جمع کرده و نتیجه را در به عملوند چپ اختصاص می دهد.

C +=A

معادل

 C=C+A

3

- = (تفریق و توزیع)

عملوند راست را با عملوند چپ تفریق کرده و نتیجه را در به عملوند چپ اختصاص می دهد.

C -=A

معادل

 C = C - A

4

* = (ضرب و توزیع)

عملوند راست را در عملوند چپ ضرب کرده و نتیجه را در به عملوند چپ اختصاص می دهد.

C *= A

معادل

C = C * A

5

/ = (تقسیم و توزیع)

عملوند چپ را با عملوند راست تقسیم کرده و نتیجه را در به عملوند چپ اختصاص می دهد.

C /= A

معادل

C = C / A

6

٪ = (ماژول ها و توزیع)

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

C %= A

معادل

C = C % A

 

نکته: مشابه عملگر های توزیع در عملگرهای بیتی وجود دارد که: <<=, >>=, >>=, &=, |= and ^=

مثال

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

<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...

 

عملگر متفرقه

ما در اینجا در رابطه با دو عملگر بسیار مفید در جاوا اسکریپت صحبت می کنیم:  عملگر شرطی (? :) و عملگر نوع.

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

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

ردیف

عملگر

شرح

1

(شرط) ? :

اگر شرط true بود؟ مقدار 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...

 

عملگر نوع

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

عملگر نوع  "number"،  "string" یا "boolean" را ارزیابی می کند. اگر عملگر آن یک مقدار، رشته یا مقدار بولی است و براساس ارزیابی true  یا false را برمی گرداند.

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

نوع

رشته بازگشتی توسط  عملگر نوع

عدد

"number"

رشته

"string"

بولین

"boolean"

شئ

"object"

تابع

"function"

تعریف نشده

"undefined"

خالی

"object"

 

مثال

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

<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...
در صورتی که سوال و یا نظری دارید، از بخش نظرات با ما در میان بگذارید.

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد

شما چه نظر و یا سوالی درباره این نوشته دارید؟

مبحث آموزشی

آموزش جاوا اسکریپت

Learn JavaScript

سرفصل ها

پرســیدن سؤال جدید

سؤال های تخصصی خود را از ما بپرسید

دنبال کردن تلگرام کانال سافت اسکیل

https://telegram.me/softskill_ir

عملیات کاربران

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد

کلیک کنید و سوالات خود را از ما بپرسید
لطفا فرم سوال را پر کنید

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

لطفا چند لحظه منتظر بمانید ...