فصل سوم: عملگرها در اکما اسکریپت

05 شهریور 1397
es6-operators

یک expression نوعی دستورالعمل است که یک مقدار را ارزیابی می کند. هر expression از چند قسمت تشکیل شده است:

  • عملوند: داده ها را نمایش می دهند
  • عملگر: مشخص می کند که یک عملوند چطور پردازش شود تا یک مقدار را تولید کند.

برای مثال عبارت 3+2 را در نظر بگیرید. در این عبارت 2و3 عملوند هستند و علامت جمع (+) یک عملگر است. جاوا اسکریپت از عملگرهای زیر پشتیبانی می کند:

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

فرض کنید متغیر a و b به ترتیب مقادیر 10 و 15 را دارند.

عملگر

کاربرد

مثال

+

جمع: جمع عملوندها را بر می گرداند

a+b می شود 15

-

تفریق: تفاضل دو عملوند

a-b می شود 5

*

ضرب: ضرب دو عملوند را بر می گرداند

a*b می شود 50

/

تقسیم: تقسیم دو عملوند را بر می گرداند

a/b می شود 2

%

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

a%b می شود 0

++

افزایش: مقدار متغیر را یک واحد افزایش می دهد

a++ می شود 11

--

کاهش: مقدار متغیر را یک واحد کاهش می دهد

a- -می شود 9

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

عملگرهای رابطه ای نوع روابط و یا مقادیر دو موجودیت را بررسی می کند. عملگرهای رابطه ای یک نوع boolean بر می گرداند که برابر true یا false می شود. فرض کنید متغیر a مقدار 10 و متغیر b مقدار 20 را دارد.

عملگر

توضیحات

مثال

> 

بزرگتر از

(a>b)  برابر false

< 

کوچکتر

(a<b) برابر true

>=

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

(a>=b) برابر false

<=

کوچکتر یا مساوی با

(a<=b) برابر true

==

برابری

(a==b) برابر false

!=

نابرابری(مخالف)

(a!=b) برابر true

عملگر منطقی

عملگر منطقی برای ترگیب دو یا چند شرط استفاده می شود. عملگرهای منطقی هم مقدار بولین بر میگرداند. فرض کنید متغیر a برابر 10 و متغیر a برابر 20 باشد:

عملگر

توضیحات

مثال

&&

و

فقط موقعی مقدار true را بر می گرداند که نتیجه دو عبارت true باشد

(a>10 && b>10) برابر False است

||

یا

در صورتی true بر می گرداند که حداقل نتیجه یکی از دوعبارت true باشد

(a>10 || b>10) برابر true است

!

نقیض

معکوس یک عبارت را بر میگرداند

!(a>10) برابر true است

 عملگر بیتی

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

جدول زیر رامشاهده کنید:

عملگر

نحوه استفاده

توضیحات

ADN بیتی

a & b

  عملگر AND بیتی، دو مقدار دودویی با طول مساوی دریافت کرده و بر روی هر جفت بیت متناظر، عملیات عطف منطقی را انجام می‌دهد. نتیجه وقتی ۱ می‌شود که اولین بیت و دومین بیت هر دو با هم ۱ باشند. در غیر این صورت نتیجه صفر است

OR بیتی

a | b

عملگر OR بیتی، دو الگوی بیتی با طول یکسان دریافت کرده و عملیات فصل منطقی را بر روی بیت‌های متناظر انجام می‌دهد. نتیجه عملیات ۱ است، اگر بیت اول یا بیت دوم یک باشند. در غیر این صورت (یعنی اگر هر دو بیت صفر باشند) نتیجه عملیات هم صفر است

XOR بیتی

a^b

عملگر XOR بیتی، دو الگوی بیتی با طول یکسان دریافت کرده و عملیات یای انحصاری را بر روی بیت‌های متناظر انجام می‌دهد. نتیجه وقتی ۱ است که اگر فقط اولین بیت ۱ باشد یا فقط دومین بیت ۱ باشد. اما اگر هر دو بیت صفر یا هر دو بیت ۱ باشند، نتیجه صفر است

NOT بیتی

~ a    

نفی بیتی یا مکمل، یک عملگر یگانی است که هر بیت را به صورت منطقی نقیض می‌کند و به این ترتیب مکمل یک آن مقدار بدست می‌آید. بیت‌هایی که ۰ هستند تبدیل به ۱ و بیت‌هایی که ۱ هستند تبدیل به صفر می‌شوند

 شیفت به چپ

a << b

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

شیفت به راست

a >> b

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

 شیفت راست با صفر

a >>> b


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

 

عملگرهای نسبت دهی

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

#

عملگر

توضیحات

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

تقسیم و نسبت دهی(/=)

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

 

 نکته: همین منطق به عملگرهای بیتی هم اعمال می شود، مانند:

<<=, >>=, >>=, &=, |= and ^=.

عملگرهای متفرقه

 عملگر منفی کردن

علامت یک مقدار را تغییر می دهد.

var x = 4 
var y = -x; 
console.log("value of x: ",x); //outputs 4 
console.log("value of y: ",y); //outputs -4

خروجی

value of x:  4 
value of y:  -4

عملگرهای رشته ای: عملگر الحاق(+)

عملگر + وقتی که به مقادیر رشته ای اعمال می شود رشته دوم را به رشته اول متصل میکند.

var msg = "hello"+"world" 
console.log(msg)

خروجی

helloworld

عملیات الحاق هیچ فضای خالی بین رشته ها اضافه نمی کند و می توانید چندین رشته را در یک خط به هم الحاق کنید.

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

 این عملگر برای نمایش یک عبارت شرطی استفاده می شود. این دستور شرطی بعضی اوقات عملگر سه تایی هم نامیده می شود.

نحوه تعریف این عملگر:

Test ? expr1 : expr2

Test1: عبارت شرطی را نشان می دهد.

expr1: در صورتی که نتیجه شرط درست (true) باشد، این مقدار برگشت داده می شود.

expr2: در صورتی که نتیجه شرط نادرست (false) باشد، این مقدار برگشت داده می شود.

مثال:

var num = -2 
var result = num > 0 ?"positive":"non-positive" 
console.log(result)

خط 2 بررسی میکند که آیا مقدار متغیر num بزرگتر از صفر (0) است یا نه؟ و اگر مقدار متغیر num بزرگتر از صفر بود، رشته positive و در غیر اینصورت رشته non-positive برگشت داده می شود.

خروجی

non-positive

عملگرهای نوع

عملگر typeof

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

نوع داده

مقدار برگشت داده شده توسط typeof

Number

"number"

String

"string"

Boolean

"boolean"

Object

"object"

مثال زیر رشته number را در خروجی نمایش می دهد:

var num = 12 
console.log(typeof num); //output: number

خروجی

number
نویسنده شوید

دیدگاه‌های شما

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.