عملگرها در جاوا اسکریپت

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

 

در تعریف عملگرها بهتر است به مثال ساده ی 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

نکته : از + میتوانید برای جمع بستن دو رشته ی string هم استفاده کنید مثلا "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...

 

عملگرهای مقایسه ای در جاوا اسکریپت : 

 

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

ردیف عملگر و توضیحات و مثال 
1

= = برابری

برابر بودن دو مقدار را بررسی میکند و در صورت برابر بودن true و در غیر اینصورت false میباشد

مثال : (A == B) مقدارش true نیست .

2

!= عدم تساوی

عدم تساوی دو مقدار را بررسی میکند و درصورت مساوی نبودن دو مقدار true و در غیر اینصورت false برمیگرداند

مثال : (A != B) مقدار true میباشد.

3

> بزرگتر است از 

بررسی میکند که مقدار متغیر سمت چپ بیشتر از متغیر سمت راست باشد و اگر چنین باشد true و در غیر این صورت false برمی گرداند

مثال: (A > B) مقدارش true نیست.

4

< کوچکتر است از 

بررسی میکند که مقدار متغیر سمت راست بیشتر از متغیر سمت چپ باشد و اگر چنین باشد true و در غیر این صورت false برمی گرداند

مثال : (A < B) مقدارش true می باشد .

5

>= بزرگتر یا مساوی

بررسی میکند که مقدار متغیر سمت چپ بیشتر از متغیر سمت راست باشد و اگر چنین باشد true و در غیر این صورت false برمی گرداند توجه کنید که درصورت برابر بودن دو متغیر نیز مقدار true در نظر گرفته میشود

مثال : (A >= B) مقدارش true نیست .

6

<= کوچکتر یا مساوی

بررسی میکند که مقدار متغیر سمت راست بیشتر از متغیر سمت چپ باشد و اگر چنین باشد true و در غیر این صورت false برمی گرداند توجه کنید که درصورت برابر بودن دو متغیر نیز مقدار 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...

 

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

 

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

ردیف عملگر و توضیحات و مثال
1

&& 

زمانی که هر دو متغیر مقداری بغیر از مقدار 0 را داشته باشند true برمیگرداند

مثال : (A && B)  مقدار true برمیگرداند.

2

||

اگر تنها یکی از دو متغیر مقدارش مقداری غیر از 0 باشد true برگردانده میشود

مثال : (A || B)  مقدار true را برمی گرداند.

3

داده ها را معکوس در نظر میگیرد اگر مقدار بازگشتی نهائی true باشد false و اگر false باشد true برگردانده میشود 

مثال : ! (A && B)  مقدار flase برمی گرداند .

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

<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 را عدد 2 و مقدار B را عدد 3 فرض میکنیم . 

شماره عملگر و توضیح و مثال آن 
1

در بین دو متغیر سمت راست و چپ عمل منطقی AND را انجام میدهد

مثال : (A & B) برابر است با 2.

2

|

بین دو متغیر سمت راست و چپ عمل منطقی OR را انجام میدهد 

مثال : (A | B) مساوی است با  3.

3

عمل منطقی XOR را انجام میدهد یعنی یکی از متغیرها برعکس متغیر دیگر باشد و مقدار هر دو یکسان نباشد

مثال : (A ^ B)  مساوی است با 1.

4

معکوس بیت های یک متغیر را برمیگرداند . برای درک بیشتر عدد را به سیستم دو دویی تبدیل کنید و سپس بجای 0 ها عدد 1 و بجای 1 ها عدد صفر قرار دهید سپس به سیستم ده دهی تبدیل کنید 

مثال : (~B) مساوی است با -4.

5

<< 

عمل منطقی شیفت به چپ را انجام میدهد

مثال : (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

 

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

 

در مثال پائین تمام عملگرهای انتسابی که معرفی کردیم نوشتیم و خروجی آن را نیز میتوانید مشاهده کنید :

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

 

عملگرهای شرطی در جاوا اسکریپت : 

 

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

conditional operator (? :) و  typeof operator

 

 

Conditional Operator (? :) در جاوا اسکریپت : 

 

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

? : (شرط)

اگر شرط درست باشد ? این قسمت اجرا میشود : ولی اگر شرط درست نباشد اینجا اجرا میشود

 

برای درک این مسئله شما باید مثال زیر را ببینید  و درک کنید 

سینتکس کلی : 

? : (Conditional )

If Condition is true? Then value X : Otherwise value Y

 

مثال و خروجی : 

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

 

typeof Operator در جاوا اسکریپت : 

 

این عملگر درست قبل از نام یک عملوند ساده قرار میگیرد و در نهایت بصورت یک رشته نوع آن را بر میگرداند مثلا مشخص میکند که یک عملوند عدد صحیح است یا رشته یا هر چیز دیگری ...

انواع نوع داده ها و خروجی عملگر typeof را میتوانید در زیر مشاهده کنید : 

نوع داده خروجی typeof
Number "number"
String "string"
Boolean "boolean"
Object "object"
Function "function"
Undefined "undefined"
Null "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...

 

 

. اتمام .