الحسابات العددية في JavaScript

السيناريوهات الشائعة لتعامل الأرقام هي العمليات الحسابية.

سيمبولات الحساب في JavaScript

سيمبولات الحساب تقوم بعمليات حسابية على الأرقام (كلمات أو متغيرات).

المشغل الوصف
+ الجمع
- الطرح
* الضرب
** القوة (ES2016)
/ القسمة
% النسبة المئوية
++ الزيادة
-- التناقص

سيمبولات الحساب

عمليات الحساب التقليدية تتعامل مع قيمين.

هذه الأرقام يمكن أن تكون

النموذج

var x = 7 + 8;

جربها بنفسك

أو متغيرًا:

النموذج

var x = a + b;

جربها بنفسك

أو تعبيرًا:

النموذج

var x = (7 + 8) * a;

جربها بنفسك

السيمبولات والمطلقين

في العمليات الحسابية، يُدعى الرقمالمطلق.

العمليات التي تتم بين المطلقينالمشغلالتعريف.

المطلق المشغل المطلق
7 + 8

الجمع

الجمعسيمبول (+) المضيف:

var x = 7;
var y = 8;
var z = x + y; 

جربها بنفسك

الطرح

الطرحسيمبول (-) المطرود.

var x = 7;
var y = 8;
var z = x - y; 

جربها بنفسك

الضرب

الضربسيمبول (*) المضروب.

var x = 7;
var y = 8;
var z = x * y; 

جربها بنفسك

القسمة

القسمةسيمبول (/) المعدل.

var x = 7;
var y = 2;
var z = x / y; 

جربها بنفسك

النسبة المئوية

النسبة المئويةسيمبول (%) يعطي الباقي بعد عملية التقسيم.

var x = 7;
var y = 2;
var z = x % y; 

جربها بنفسك

التعليق:في العمليات الحسابية، عملية التقسيم بين عددين صحيحين تنتج بالباقي.

التعليق:في الرياضيات، الناتج من عملية المودول هو الباقي بعد عملية التقسيم.

الزيادة

الزيادةسيمبول (++) يزيد القيمة.

var x = 7;
x++;
var z = x;

جربها بنفسك

التناقص

التناقصسيمبول (--) ينقص القيمة.

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 ? : الشرط ? "نعم" : "لا"
       
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 تقاطع إيقاف الدالة تقاطع x
1 , الcomma 7 , 8

ملاحظة:الأحمر الفاتح يشير إلى تقنيات تجريبية أو مقترحة (ECMASScript 2016 أو ES7).

نصيحة:التعبير الموجود في البارtheses سيتم حسابه بشكل كامل قبل استخدام قيمته في باقي التعبير.