عملگر های جاوا اسکریپت
اگر آموزش جاوا اسکریپت را دنبال کرده باشید حتما میدانید که یکی از بخشهای جدانشدنی و مهم در زبانهای برنامه نویسی، عملگرها (Operators) هستند. با استفاده از عملگرها میتوانید محاسبات ریاضی و منطقی را انجام دهید یا مقادیری را با یکدیگر مقایسه کنید. این کار ممکن است در وهله اول بیاهمیت به نظر برسد؛ اما عملگرهای جاوا اسکریپت میتوانند کارهای زیادی برای شما انجام دهند و به نوعی، از پایههای برنامه نویسی هستند. با استفاده از عملگرها در جاوا اسکریپت انجام هر نوع محاسبات و عملیاتها امکانپذیر است؛ از مقداردهی یک متغیر گرفته تا نوشتن یک الگوریتم پیچیده برای تولید رمزهای تصادفی یا ساخت یک مدل هوش مصنوعی برای تولید تصاویر!
در ادامه در وبلاگ سبزلن به معرفی oprators در جاوا اسکریپت میپردازیم و برای هر کدام یک مثال ارائه میدهیم. بهتر است خودتان از هرکدام از هملگرهای معرفی شده استفاده کنید تا عملکرد آنها را بهتر درک کنید.
عملگر چیست؟
اگر بخواهیم یک تعریف بسیار یاده برای عملگرها ارائه دهیم، میتوانیم بگوییم عملگرها یک نماد هستند که عملیات یا کار خاصی را انجام میدهند. این عملگرها ممکن است یک عملیات ریاضی مانند جمع و تفریق بین دو مقدار را انجام دهند یا مقادیر دو متغیر را با یکدیگر مقایسه کنند.
اما اگر بخواهیم کمی حرفهایتر به عملگرها نگاه کنیم، میتوانیم آنها را نوعی عملگرهای ریاضی بدانیم که بین متغیرها و آرگومانهای برنامه نویسی ارتباط برقرار میکنند. در واقع، متغیرها و آرگومانها با استفاده از Operatorها با یکدیگر تعامل و ارتباط برقرار میکنند. یادگیری عملگرها در جاوا اسکریپت و نحوه کار با آنها، یکی از مباحث پایهای در برنامه نویسی است. بدون یادگیری این مبحث به ظاهر ساده، به مشکلات زیادی در برنامه نویسی برخورد میکنید و نمیتوانید مفاهیم دیگر را به خوبی درک کنید.
انواع عملگرها در جاوا اسکریپت
چندین نوع عملگر در برنامه نویسی وجود دارد که هرکدام، دارای کاربردهای خاصی هستند. در لیست زیر، مهمترین انواع اوپراتورها در جاوا اسکریپت را برای شما آماده کردهایم. در ادامه نیز میتوانید با هرکدام از انواع عملگرها در JS آشنا شوید و نمونه کدهایی از آنها را مشاهده کنید.
- عملگرهای حسابی
- عملگرهای انتسابی
- عملگرهای مقایسه
- عملگرهای منطقی
عملگرهای حسابی در جاوا اسکریپت
عملگرهای حسابی یا محاسباتی، در واقع همان نمادهای ریاضی هستند که در برنامه نویسی برای انجام محاسبات ریاضی بین دو مقدار مورداستفاده قرار میگیرند. استفاده از این عملگرها همانند انجام یک عملیات ریاضی است؛ کافیست عملگر مناسب را بین مقدار خود قرار دهید و عملیات را انجام دهید. البته غیر از 4 عملگرد اصلی ریاضی، تعدادی عملگر دیگر نظیر باقیمانده تقسیم، توان و عملگرهای کاهشی و افزایشی نیز در برنامه نویسی وجود دارند. در جدول زیر، انواع عملگرهای محاسباتی در جاوا اسکریپت را مشاهده میکنید.
جدول عملگرهای حسابی در جاوا اسکریپت
+ | جمع یا بهعلاوه | جمع کردن دو مقدار |
– | تفریق یا منها | تفریق کردن دو مقدار |
* | ضرب | ضرب دو مقدار در یکدیگر |
/ | تقسیم | تقسیم دو مقدار در یکدیگر |
% | مقدار باقیمانده تقسیم | به دست آوردن مقدار باقیمانده از تقسیم |
** | توان | مقدار سمت چپ را پایه توان و مقدار سمت راست را توان قرار میدهد. |
++ | افزایش | مقدار متغیر را یک عدد افزایش میدهد. |
— | کاهش | مقدار متغیر را یک عدد کاهش میدهد. |
در ادامه، هرکدام از عملگرهای گفته شده را معرفی کرده و یک مثال از آنها به شما ارائه میدهیم. برای مثلها، دو متغیر a و b درنظر گرفته شدهاند که به ترتیب دارای مقادیر 6 و 22 هستند.
- عملگر جمع (+): برای جمع کردن دو متغیر یا مقدار با یکدیگر مورداستفاده قرار میگیرد. هم با اعداد و هم رشتهها (String) در جاوا اسکریپت کار میکند.
a + b; //خروجی : 28
- عملگر تفریق (-): برای کم کردن مقدار سمت چپ از مقدار سمت راست کاربرد دارد.
b – a; // خروجی: 16
- عملگر ضرب (*): دو عدد را در یکدیگر ضرب میکند.
a * b; // خروجی: 132
- عملگر تقسیم (/): مقدار سمت چپ را بر مقدار سمت راست تقسیم میکند.
b / a; // خروجی: 3.66
- عملگر باقیمانده تقسیم (%): مقدار باقیمانده از تقسیم دو یا چند متغیر را نمایش میدهد. در صورتی که دو عدد بر یکدیگر بخشپذیر باشند، مقدار 0 را نمایش میدهد.
b / a; //خروجی: 4
- عملگر توان (**): مقدار سمت چپ را به توان مقدار سمت راست میرساند.
a ** b; //خروجی: 113379904
- عملگر افزایش (++): به مقدار عددی 1 واحد اضافه میکند. تفاوتی ندارد این عملگر قبل از مقدار متغیر یا بعد از آن باشد.
a++; //خروجی: 7
- عملگر کاهش (–): از مقدار عددی، یک واحد کم میکند. تفاوتی ندارد این متغیر قبل از متغیر قرار بگیرد یا بعد از آن.
a--; //خروجی: 5
عملگرهای انتسابی در جاوا اسکریپت
عملگرهای انتسابی یا رابطهای، یکی دیگر از عملگرهای جاوا اسکریپت هستند که وظیقه تخصیص یک مقدار به یک متغیر را دارد. نحوه کار این نوع عملگر، به این صورت است که مقدار سمت راست را به متغیر سمت چپ تخصیص میدهد. عملگرهای انتسابی دارای شباهتهایی با عملگرهای حسابی هستند؛ با این تفاوت که علامت = در آنها وجود دارد. با استفاده از در جدول زیر، عملگرهای انتسابی در جاوا اسکریپت آشنا شوید و در ادامه، مثالهایی از آنها را مشاهده کنید.
جدول عملگرهای انتسابی در جاوا اسکریپت
= | مساوی یا انتساب | اختصاص مقدار سمت راست در متغیر سمت چپ |
+= | جمع و انتساب | دو مقدار را جمع کرده و حاصل را در متغیر سمت چپ قرار میدهد |
-= | تفریق و انتساب | دو مقدار را تفریق کرده و حاصل را در متغیر سمت چپ قرار میدهد |
*= | ضرب و انتساب | دو مقدار را در هم ضرب کرده کرده و حاصل در را متغیر سمت چپ قرار میدهد |
/= | تقسیم و انتساب | دو مقدار را در هم تقسیم کرده کرده و حاصل را در متغیر سمت چپ قرار میدهد |
%= | باقیمانده تقسیم و انتساب | باقیمانده تقسیم دو متعیر را در متغیر سمت چپ قرار میدهد |
**= | توان و انتساب | مقدار سمت چپ را به توان مقدار سمت راست رسانده و در متغیر سمت چپ قرار میدهد |
مثالهایی برای درک بهتر این نوع از عملگرهای جاوا اسکریپت برای شما آماده کردیم. در این مثال، متغیر a برابر با 6 و متغیر B برابر با 22 است.
عملگر مساوی (=): مقدار سمت راست را به متغیر سمت چپ اختصاص میدهد.
a = b; // a = 22
عملگر جمع و انتساب (+=): دو متغیر را با هم جمع کرده و مقدار را در متغیر سمت چپ ذخیره میکند. هم برای اعداد و هم برای رشتهها کاربرد دارد.
a += b; // a = 28
عملگر تفریق و انتساب (-=): دو متغیر را از یکدیگر کم کرده و خروجی را در متغیر سمت چپ قرار میدهد.
b -= a; // b = 16
عملگر ضرب و انتساب (*=): دو متغیر یا مقدار را در هم ضرب کرده و خروجی را در متغیر سمت چپ قرار میدهد.
a *= b; // a = 132
عملگر تقسیم و انتساب (/=): مقدار سمت چپ را بر مقدار سمت راست تقسیم کرده و خروجی را به متغیر سمت چپ اختصاص میدهد.
b -= a; // b = 3.666
عملگر باقیمانده تقسیم و انتساب (%=): باقیمانده تقسیم متغیر سمت چپ بر متغیر سمت راست را در مقدار سمت چپ ذخیره میکند.
b %= a; // b = 4
عملگر توان و انتساب (**=): عدد سمت چپ را به توان عدد سمت راست رسانده و حاصل عملیات را به عنوام تغیر سمت چپ درنظر میگیرد.
a **= b; // a = 113379904
عملگرهای مقایسهای در جاوا اسکریپت
همانطور که از اسم این نوع عملگرها میتوان فهمید، از آنها برای مقایسه دو یا چند مقدار استفاده میشود. خروجی این عملگرها تنها دو حالت دارد؛ True و False! در صورتی که مقایسه صحیح باشد، مقدار True در خروجی نمایش داده میشوو، در غیر این صورت با مقدار False مواجه میشویم. از این عملگرها در دستورات شرطی به طور گسترده استفاده میشود. در جدول زیر، عملگرهای جاوا اسکریپت که از نوع مقایسهای هستند را مشاهده میکنید. مقادیر a و B در مثالهای هرکدام از این عملگرها در جاوا اسکریپت، دارای مقدار 6 و 22 هستند.
جدول عملگرهای مقایسهای در جاوا اسکریپت
== | برابری | مقایسه دو متغیر از نظر مقدار؛ بدون توجه به نوع متغیرها |
=== | برابری شدید | مقایسه دو متغیر از نظر مقدار یا نوع متغیرها |
!= | نابرابری | مقایسه نابرابری دو متغیر از نظر مقدار؛ بدون توجه به نوع متغیرها |
!== | نابرابری شدید | مقایسه نابرابری دو متغیر از نظر مقدار و نوع متغیرها |
> | بزرگتر | بررسی بزرگتر بودن مقدار سمت سمت چپ از سمت راست |
< | کوچکتر | بررسی کوچکتر بودن مقدار سمت سمت چپ از سمت راست |
>= | بزرگتر یا مساوی | بررسی بزرگتر یا مساوی بودن مقدار سمت سمت چپ از سمت راست |
<= | کوچکتر یا مساوی | بررسی کوچکتر یا مساوی بودن مقدار سمت سمت چپ از سمت راست |
عملگر برابری (==): دو متغیر عددی را از نظر مقدار و بدون توجه به دیتا متغیر در جاوا اسکریپت با یکدیگر مقایسه میکند. یعنی اگر یکی از متغیرها دارای مقدار 22 به صورت عددی و مقدار 22 به صورت رشتهای باشد، خروجی را True نمایش میدهد.
a == b; // false
عملگر برابری شدید (===): دو متغیر را هم از نظر مقدار و هم از نظر نوع با یکدیگر مقایسه میکند.
a === b; // false
عملگر نابرابری (!=): دو متغیر را براساس مقدار با یکدیگر مقایسه میکند و در صورتی که با یکدیگر برابر نباشند، مقدار True را نمایش میدهد.
a != b; // true
عملگر نابرابری شدید (!==): دو متغیر را از نظر مقدار و نوع بررسی میکند و در صورت برابر نبودن دو متغیر، خروجی True را نمایش میدهد. در مثال زیر، دو متغیر a و b از نظر مقدار با یکدیگر متفاوت هستند؛ اما هر دو از نوع عدد هستند.
a !== b; // true
عملگر بزرگتر (>): در صورتی که مقدار سمت چپ بزرگتر از مقدار سمت راست باشد، مقدار صحیح یا True را نمایش میدهد.
a > b; // false
عملگر کوچکتر (<): در صورتی که مقدار سمت چپ کوچکتر از مقدار سمت راست باشد، مقدار True را نمایش میدهد.
a < b; // true
عملگر بزرگتر یا مساوی (>=): در صورتی که مقدار سمت چپ بزرگتر یا مساوی با مقدار سمت راست باشد، مقدار صحیح یا True را نمایش میدهد.
a >= b; // false
عملگر کوچکتر یا مساوی (<=): در صورتی که مقدار سمت چپ کوچکتر یا مساوی با مقدار سمت راست باشد، مقدار True را نمایش میدهد.
a <= b; // true
عملگرهای منطقی در جاوا اسکریپت
عملگرهای منطقی، یکی دیگر از انواع عملگرها در java Script هستند که دارای خروجیهای True و false هستند؛ اما تفاوتهای زیادی با عملگرهای انتسابی دارند. استفاده از عملگرهای منطقی در دستورات شرطی بسیار رایج است و برنامه نویس میتواند دستوراتی برای هرکدام از حالتهای True و False تعیین کند. جدول زیر، نشان دهنده مهمترین عملگرهای منطقی در جاوا اسکریپت است. در این بخش برای درک بهتر این نوع از عملگرهای جاوا اسکریپت از چند مثال برای هرکدام استفاده کردهایم.
جدول عملگرهای منطقی در جاوا اسکریپت
! | معکوس | مقدار منطقی را معکوس میکند. |
&& | و (AND) | در صورتی که شرطهای تعیین شده برقرار باشد، True را نمایش میدهد. |
|| | یا (OR) | در صورتی که یک یا چند شرطهای تعیین شده برقرار باشد، True را نمایش میدهد. |
- عملگر معکوس (!): در صورتی که یک مقدار برابر با True باشد، آن را به False تبدیل میکند یا برعکس.
a = True; b = False; console.log(!a , "and" , !b); // False and True
- عملگر AND (&&): در دستورات شرطی استفاده میشود و تنها در صورتی برابر با True است که تمام شرطهای تعیین شده برقرار باشند.
a > 0 && b > 0; // true a > 0 && b < 0; // false a < 0 && b > 0; // false a < 0 && b < 0; // false
- عملگر OR (||): در دستورات شرطی مورداستفاده قرار میگیرد و در صورتی که حداقل یکی از شرطهای تعیین شده برقرار باشند، دستور True را نمایش میدهد.
a > 0 || b > 0; // true a > 0 || b < 0; // true a < 0 || b > 0; // true a < 0 || b < 0; // false
برای یادگیری جاوا اسکریپت از کجا شروع کنم؟
یادگیری عملگرها فقط به مفاهیم پایه محدود نمیشود. درک عمیق از عملگرها، نحوهی استفاده از آنها در عبارات پیچیده و آشنایی با عملگرهای جدیدتر و پیچیده، شما را در مسیر تسلط بهتر به جاوا اسکریپت و تبدیل شدن به یک توسعه دهنده حرفهای یاری خواهد کرد.
اما یادگیری عمیق، تنها با استفاده از آموزشهای عمیق و اصولی در کنار تمرین و استمرار رخ میدهد. دوره جامع آموزش جاوا اسکریپت سبزلرن، با ارائه آموزشهای عمیق و اصولی در کنار پشتیبانی تخصصی مادام العمر، شما را در مسیر تبدیل شدن به یک توسعه دهنده متخصص یاری میکند. در این دوره تقریبا 90 ساعته، مباحث مقدماتی تا پیشرفته جاوا اسکریپت را به طور کامل فرا خواهید گرفت و طی یک فصل جداگانه، پیادهسازی یک سایت SPA را به عنوان هدیه دریافت خواهید کرد.
همین امروز در دوره جامع آموزش جاوا اسکریپت سبزلرن ثبت نام کنید و با یادگیری محبوبترین زبان برنامه نویسی در جهان، خودتان را برای ایجاد یک تحول بزرگ در کار و زندگی آماده کنید!
خیلی عالی و جامع بود ممنون ازتون