توصیههای دوره:
- صفحه قبلی عملگرهای JS
- صفحه بعدی JS تخصیص
ریاضیات جاوااسکریپت
صحنههای معمولی پردازش عددی معمولاً محاسبات ریاضی هستند.
عملگرهای ریاضی جاوااسکریپت
انظار | توضیح |
---|---|
+ | جمع |
- | جمع |
* | ضرب |
** | عملگرهای ریاضی عملگرهای عددی (متن یا متغیر) را عمل ریاضی میکنند.توان (ES2016 |
/ | تقسیم |
% | مقیاس |
++ | افزایش |
-- | کاهش |
())
عملگرهای ریاضی
محاسبات ریاضی معمولی معمولاً دو عدد را عمل میکند.
مثال
این دو عدد میتوانند عددهای مشخص باشند:
var x = 7 + 8;
مثال
یا متغیر:
var x = a + b;
مثال
یا عبارت:
var x = (7 + 8) * a;
عملگر و عملگرتعریف..
در محاسبات، عدد به عنوانانظار()) عملیات ( بین دو عملگر انجام میشود) توسط
تعریف. | انظار | تعریف. |
---|---|---|
7 | + | 8 |
مقیاس
مقیاسعملگر (%
()) باقیمانده تقسیم را برمیگرداند.
var x = 7; var y = 2; var z = x % y;
نکته:در محاسبات، تقسیم دو عدد صحیح نتایج به صورت جمع و باقیمانده دارد.
نکته:در ریاضیات، نتیجه عملگر نمونه مقدار باقیمانده از تقسیم عددی است.
افزایش
افزایشعملگر (++
()) عدد را افزایش میدهد.
var x = 7; x++; var z = x;
توان
پاور عملگر (**) اولین عملگر را به توان دوم عملگر بالا میبرد.
مثال
var x = 5; var z = x ** 2; // نتیجه 25 است
نتیجه x ** y با Math.pow(x,y) مشابه است:
مثال
var x = 5; var z = Math.pow(x,2); // نتیجه 25 است
اولویت انظار
اولویت انظار (Operator precedence) توضیح میدهد که در بیانهای ریاضی چه عملی انجام میشود.
مثال
var x = 200 + 50 * 2;
آیا نتیجه مثال بالا 250 * 2 یا 200 + 100 است؟
افزودن یا تولید اولویت دارد؟
در ریاضیات مدارس سنتی، تولید اولویت دارد.
تولید (*
()) و تقسیم (%
()) و افزودن (+
()) و کاهش (-
()) دارند اولویت بالاتریاولویت.
همچنین، مانند ریاضیات مدارس، میتوان از قفسهبندی برای تغییر اولویت استفاده کرد:
مثال
var x = (200 + 50) * 2;
وقتی از قفسهبندی استفاده میشود، انظار در داخل قفسهبندی اول محاسبه میشوند.
وقتی چندین انظار دارای اولویت یکسان هستند (مثلاً افزودن و کاهش)، محاسبات از چپ به راست انجام میشود:
مثال
var x = 200 + 50 - 2;
مقدار اولویت انظار JavaScript
مقدار | انظار | توضیح | مثال |
---|---|---|---|
20 | ( ) | گروهبندی بیان | (3 + 4) |
19 | . | نماینده | person.name |
19 | [] | نماینده | person["name"] |
19 | () | دعوت از توابع | myFunction() |
19 | new | ایجاد | new Date() |
17 | ++ | افزودن پسفرض | i++ |
17 | -- | کاهش پسفرض | i-- |
16 | ++ | افزودن پیشفرض | ++i |
16 | -- | کاهش پیشفرض | --i |
16 | ! | منفی منطقی | !(x==y) |
16 | typeof | نوع | typeof x |
15 | ** | مقدار توان (ES7) | 10 ** 2 |
14 | * | تولید | 10 * 5 |
14 | / | تقسیم | 10 / 5 |
14 | % | تقسیم عددی با مودول | 10 % 5 |
13 | + | افزودن | 10 + 5 |
13 | - | کاهش | 10 - 5 |
12 | << | مجنبور به چپ | x << 2 |
12 | >> | مجنبور به راست | x >> 2 |
12 | >>> | مجنبور به راست (بینشان) | x >>> 2 |
11 | < | کوچکتر | x < y |
11 | <= | کوچکتر یا مساوی | x <= y |
11 | > | بزرگتر | x > y |
11 | >= | بزرگتر یا مساوی | x >= y |
11 | in | مقدار املاک | "PI" in Math |
11 | instanceof | مثال对象的 | instanceof Array |
10 | == | مساوی | x == y |
10 | === | کمپلکس میکو | x === y |
10 | != | غیر برابر | x != y |
10 | !== | غیر برابر دقیق | x !== y |
9 | & | و بیتها | x & y |
8 | ^ | XOR بیتها | x ^ y |
7 | | | یا بیتها | x | y |
6 | && | و منطقی | x && y |
5 | || | منفی منطقی | x || y |
4 | ? : | شرطی | ? "Yes" : "No" |
3 | = | تخصیص | x = y |
3 | += | تخصیص | x += y |
3 | -= | تخصیص | x -= y |
3 | *= | تخصیص | x *= y |
3 | %= | تخصیص | x %= y |
3 | <<= | تخصیص | x <<= y |
3 | >>= | تخصیص | x >>= y |
3 | >>>= | تخصیص | x >>>= y |
3 | &= | تخصیص | x &= y |
3 | ^= | تخصیص | x ^= y |
3 | |= | تخصیص | x |= y |
2 | yield | توابع موقت | yield x |
1 | , | کاما | 7 , 8 |
توجه:قرمز روشن نشاندهنده فناوریهای تجربی یا پیشنهادی است (ECMASScript 2016 یا ES7)
توجه:عبارتهای درون برackets در صورت نیاز به استفاده در بخشهای دیگر عبارت به طور کامل محاسبه میشود.
- صفحه قبلی عملگرهای JS
- صفحه بعدی JS تخصیص