المعاملات Operators

ما هي المعاملات في لغة JavaScript ؟

معاملات التشغيل هي رموز أو كلمات رئيسية تخبر محرك JavaScript بتنفيذ نوع من الإجراءات. على سبيل المثال ، رمز الإضافة (+) هو معامل يخبر محرك JavaScript بإضافة متغيرين أو قيمتين ، في حين أن الرموز التي تساوي (==) أو أكبر من (>) أو أقل من (<) هي معاملات تخبر محرك JavaScript بمقارنة متغيرين أو قيمتين ، وما إلى ذلك.
في هذا الدرس سوف نتعرف على المعاملات المختلفة المستخدمة في لغة JavaScript.


المعاملات الرياضية Arithmetic Operators

تُستخدم المعاملات الرياضية لإجراء عمليات حسابية شائعة ، مثل الجمع والطرح والضرب وما إلى ذلك. وإليك قائمة كاملة بالمعاملات الحسابية في JavaScript:

المعامل الوصف مثال النتيجة
+ جمع Addition x + y حاصل جمع x و y
- طرح Subtraction x - y ناتج طرح y من x
* ضرب Multiplication x * y ناتج ضرب x في y
/ قسمة Division x / y ناتج قسمة x على y
% باقي القسمة Modulus x % y باقي قسمة x على y

سيوضح لك المثال التالي هذه المعاملات الرياضية بشكل عملي:

مثال
تشغيل
  1. var x = 10;
  2. var y = 4;
  3. alert(x + y); // 14
  4. alert(x - y); // 6
  5. alert(x * y); // 40
  6. alert(x / y); // 2.5
  7. alert(x % y); // 2

معاملات الإسناد Assignment Operators

تُستخدم معاملات الإسناد لإسناد قيم للمتغيرات.

المعامل الوصف مثال بالضبط مثل
= إسناد Assign x = y x = y
+= جمع وإسناد Add and assign x += y x = x + y
-= طرح وإسنادSubtract and assign x -= y x = x - y
*= ضرب وإسنادMultiply and assign x *= y x = x * y
/= قسمة وإسناد الناتجDivide and assign quotient x /= y x = x / y
%= قسمة وإسناد الباقيDivide and assign modulus x %= y x = x % y

سيوضح لنا المثال التالي معاملات الإسناد بشكل عملي :

مثال
تشغيل
  1. var x;
  2. x = 10;
  3. alert(x); // 10
  4. x = 20;
  5. x += 30;
  6. alert(x); // 50
  7. x = 50;
  8. x -= 20;
  9. alert(x); // 30
  10. x = 5;
  11. x *= 25;
  12. alert(x); // 125
  13. x = 50;
  14. x /= 10;
  15. alert(x); // 5
  16. x = 100;
  17. x %= 15;
  18. alert(x); // 10

معاملات السلاسل النصية String Operators

هناك نوعان من المعاملات التي يمكن استخدامها أيضا للسلاسل النصية.

المعامل الوصف مثال النتيجة
+ تجميع السلاسل النصية Concatenation str1 + str2 سلسلة نصية من str1 و str2
+= تجميع وإسناد السلاسل النصية Concatenation assignment str1 += str2 إلحاق محتوى str2 إلى str1

سيوضح لنا المثال التالي معاملات السلاسل النصية بشكل عملي :

مثال
تشغيل
  1. var str1 = "Hello";
  2. var str2 = "World!";
  3. alert(str + srt2); // Hello World!
  4. str1 += str2;
  5. alert(str1); // Hello World!

معاملات الزيادة والنقصان Incrementing and Decrementing Operators

تُستخدم معاملات الزيادة/النقصان لزيادة/إنقاص قيمة المتغير.

المعامل الإسم بالإنجليزية الوصف التأثير
++x Pre-increment زيادة مسبقة يعمل على زيادة x بمقدار واحد ، ثم إرجاع قيمة x
x++ Post-increment زيادة لاحقة يعمل على إرجاع قيمة x ، ثم زيادة x بمقدار واحد
--x Pre-decrement إنقاص مسبق يعمل على طرح واحد من قيمة x، ثم إرجاع قيمة x
x-- Post-decrement إنقاص لاحق يعمل على إرجاع قيمة x ، ثم طرح واحد من قيمة x

يوضح لنا المثال التالي كيفية عمل عوامل الزيادة والنقصان بشكل عملي:

مثال
تشغيل
  1. var x; // الإعلان عن المتغير
  2. // Pre-increment
  3. x = 10;
  4. alert(++x); // 11
  5. alert(x); // 11
  6. // Post-increment
  7. x = 10;
  8. alert(x++); // 10
  9. alert(x); // 11
  10. // Pre-decrement
  11. x = 10;
  12. alert(--x); // 9
  13. alert(x); // 9
  14. // Post-decrement
  15. x = 10;
  16. alert(x--); // 10
  17. alert(x); // 9

المعاملات المنطقية Logical Operators

تُستخدم المعاملات المنطقية عادةً لدمج العبارات الشرطية.

المعامل الإسم مثال النتيجة
&& و And x && y true إذا كان كل من x و y يحمل القيمة true
|| أو Or x || y true إذا كان اي من x او y يحمل القيمة true
! ليس Not !x true إذا كان x يحمل القيمة false

سيوضح لنا المثال التالي كيف تعمل هذه المعاملات المنطقية بشكل عملي:

مثال
تشغيل
  1. var year = 2018;
  2. //السنوات الكبيسة قابلة للقسمة على 400 أو على 4 ولكن ليس 100
  3. if((year % 400 == 0) || ((year % 100 != 0) && (year % 4 == 0))){
  4. alert(year + "سنة كبيسة");
  5. } else{
  6. alert(year + "ليست سنة كبيسة");
  7. }
ملاحظة:

كل سنة تقبل القسمة على 4 كبيسة . كسنة 4 و8 و12 ولكن كل 100 عام نتخطى سنة (مثل سنة 100 و 200 و300 و500 ) إلا إذا كانت تقبل القسمة على 400 (كعام 400 و 800 ) فهي كبيسة.
نستنتج مما سبق ان السنوات الكبيسة قابلة للقسمة على 400 أو على 4 ولكن ليس 100

سوف نتعلم المزيد عن العبارات الشرطية في درس if/else .


معاملات المقارنة Comparison Operators

تُستخدم معاملات المقارنة لمقارنة بين قيمتين بطريقة منطقية.

المعامل الإسم مثال النتيجة
== يساوي Equal x == y true إذا كان x يساوي y
=== يطابق Identical x === y true إذا كان x يساوي y ، وكان المتغيران من نفس نوع البيانات
!= لا يساوي Not equal x != y true إذا كان x لا يساوي y
!== لا يطابق Not identical x !== y true إذا كان x لا يساوي y او كانا من نوعين مختلفين من البيانات
< أقل من Less than x < y true إذا كان x أقل من y
> أكبر من Greater than x > y true إذا كان x أكبر من y
<= أقل من او يساوي Less than or equal to x <= y true إذا كان x أقل او يساوي y
>= أكبر من او يساويGreater than or equal to x >= y true إذا كان x أكبر او يساوي y

سيوضح لك المثال التالي معاملات المقارنة هذه بشكل عملي:

مثال
تشغيل
  1. var x = 25;
  2. var y = 35;
  3. var z = "25";
  4. alert(x == z);// true
  5. alert(x === z);// false
  6. alert(x != y);// true
  7. alert(x !== z);// true
  8. alert(x < y);// true
  9. alert(x > y);// false
  10. alert(x <= y);// true
  11. alert(x >= y);// false