اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر
بتاريخ 34 دقائق مضت قال بلال زيادة:

العلامة "+" في السطر الذي قدمته لي تُستخدم للإشارة إلى عملية الجمع في لغة البرمجة. في هذا السياق، إنها تُستخدم لجمع قيمة متغير مع قيمة أخرى.

monsterHealthBar.value =  +monsterHealthBar.value - dealtDamage;

 

طيب هل هذا يعني ان سوف يتم جمع monsterHealthBar.value مع dealtDamage ام سيتم طرح القيم نظرا لعلامة الناقص؟

يعني مثلا لو قيمة monsterHealthBar.value تساوي 10 وقيمة dealtDamage تساوي 5 كم سيكون الناتج؟

  • 0
نشر

إذا كان الكود كمايلي بالضبط 

monsterHealthBar.value =  +monsterHealthBar.value - dealtDamage;

إذاً علامة "+" الموجودة قبل "monsterHealthBar.value" في السطر الذي قدمته تستخدم لتحويل قيمة المتغير "monsterHealthBar.value" إلى عدد صحيح (integer) في حال كانت قيمته بصيغة نصية (string). إذا كانت قيمة "monsterHealthBar.value" هي عدد صحيح بالفعل، فإن العلامة "+" لن تؤثر على النتيجة ويمكن إزالتها.

على سبيل المثال

let s = '10';
console.log(+s); 
// 10

وبعدها يتم تنفيذ عملية الطرح بين القيمة المحولة و"dealtDamage"، ونتيجة العملية ستكون القيمة الجديدة لـ "monsterHealthBar.value".

لمعلومات إضافية، يُشير العلامة "+" أيضًا إلى العملية الرياضية للجمع عند استخدامها بين قيمتين أو متغيرين رقميين. مثلاً، إذا كان لديك متغيرين "a" و "b" يحملان قيمتين رقميتين، فإن استخدام العلامة "+" بينهما سيؤدي إلى جمع القيمتين معًا وإرجاع الناتج.

يمكنك قراءة المزيد من خلال موسوعة حسوب

 

  • 0
نشر

تلك طريقة شائعة في جافاسكريبت من أجل تنفيذ Type Coercion (التحويل التلقائي للأنواع) في جافاسكريبت عند استخدام العلامة "+" لتحويل القيمة من نص إلى عدد، وذلك السلوك يعرف أيضًا باسم "تحويل النص إلى عدد" (String to Number Conversion) وهو نوع من التحويلات الضمنية (Implicit Conversions) التي تقوم بها جافاسكريبت تلقائيًا.

مثال في الكود التالي:

const textNumber = "123";
const number = +textNumber; 
console.log(typeof number) //number

سيتم تحويل النص إلى رقم وستجد أن نوع المتغير number قد أصبح رقم بدلاً من نص.

لكن حاول إضافة حرف a مثلاً ليصبح a123 ستجد أن النوع أصبح NaN لأنه في حال لم يكن الرقم صالح سيصبح من نوع NaN.

لذلك في حال كنت تتوقع وجود أي قيمة غير رقمية مثل وجود حروف، فعليك بكتابة منطق في الكود للتحقق من ذلك.

وأيضًا هناك دوال لعملية التحويل الرقمية مثل:

  • parseInt() تحول النص إلى عدد صحيح وتقوم بقراءة الأرقام من بداية النص حتى تصل إلى حرف غير رقمي وتتوقف.
  • parseFloat() تحول النص إلى عدد عشري وتقرأ الأرقام بدءًا من بداية النص حتى تصل إلى النقطة العشرية أو الحرف الغير رقمي.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...