🧮 الأرقام في JavaScript: دليلك الشامل للتعامل مع البيانات الرقمية
مرحباً بك في عالم البرمجة! 🎯 في هذا الدرس، سنغوص في أحد أهم أنواع البيانات الأساسية في JavaScript: الأرقام (Numbers). سواء كنت تحسب عدد المستخدمين، أو تحدد سعر منتج، أو تنشئ لعبة، فالأرقام هي لبنة البناء الأساسية. هيا نبدأ رحلتنا! 🚀
ما هي الأرقام (Numbers) في JavaScript؟
في JavaScript، لا نفرق بين الأعداد الصحيحة (مثل 5) والأعداد العشرية (مثل 3.14). كلاهما ينتمي لنفس النوع، وهو Number. هذا يجعل التعامل معها بسيطاً جداً! يمكنك تخزين أي رقم في متغير بكل سهولة.
// تخزين أعداد صحيحة في متغيرات
let userAge = 25;
let numberOfStudents = 40;
// تخزين أعداد عشرية في متغيرات
let productPrice = 99.99;
let temperature = 36.6;
console.log(userAge); // 25
console.log(productPrice); // 99.99
🔢 العمليات الحسابية الأساسية
يمكنك إجراء جميع العمليات الحسابية التي تعرفها باستخدام رموز (مشغلات) بسيطة.
let a = 15;
let b = 4;
// الجمع
let sum = a + b; // 19
console.log("مجموع a و b هو: " + sum);
// الطرح
let difference = a - b; // 11
console.log("فرق a و b هو: " + difference);
// الضرب
let product = a * b; // 60
console.log("حاصل ضرب a و b هو: " + product);
// القسمة
let quotient = a / b; // 3.75
console.log("حاصل قسمة a على b هو: " + quotient);
🧩 مشغل الباقي (%) والأس (**)
هناك عمليتان مهمتان أخريان:
- مشغل الباقي
%: يعطيك باقي القسمة. مثلاً،10 % 3يساوي 1، لأن 10 ÷ 3 = 3 والباقي 1. - مشغل الأس
**: يستخدم لرفع عدد إلى قوة. مثلاً،5 ** 2تعني 5 أس 2، وتساوي 25.
// مشغل الباقي (Modulus)
let remainder = 17 % 5; // 2
console.log("باقي قسمة 17 على 5 هو: " + remainder); // لأن 17 ÷ 5 = 3 والباقي 2
// مشغل الأس (Exponentiation)
let power = 2 ** 4; // 16
console.log("2 أس 4 يساوي: " + power); // لأن 2 * 2 * 2 * 2 = 16
🧠 أولوية العمليات الحسابية
تتبع JavaScript قاعدة الرياضيات المعروفة: الأقواس أولاً، ثم الضرب والقسمة، ثم الجمع والطرح. تُعرف هذه القاعدة بـ PEMDAS أو BODMAS.
let result1 = 2 + 3 * 4; // 14 وليس 20! لأن الضرب (3*4=12) يتم قبل الجمع (2+12)
console.log("2 + 3 * 4 = " + result1);
let result2 = (2 + 3) * 4; // 20 لأن الأقواس (2+3=5) لها الأولوية، ثم الضرب (5*4)
console.log("(2 + 3) * 4 = " + result2);
🔄 تحويل النصوص (Strings) إلى أرقام (Numbers)
ماذا لو كان الرقم مخزناً كنص داخل علامتي اقتباس؟ مثل "50"؟ هنا نحتاج لتحويله إلى رقم حقيقي لإجراء العمليات الحسابية عليه.
الطريقة الأولى: استخدام Number()
let stringNumber = "123";
let realNumber = Number(stringNumber);
console.log(realNumber); // 123 (نوعه Number)
console.log(realNumber + 7); // 130 (عملية حسابية صحيحة)
الطريقة الثانية: استخدام parseInt() و parseFloat()
parseInt(): تحول النص إلى عدد صحيح.parseFloat(): تحول النص إلى عدد عشري.
let text1 = "50.7px";
let integerPart = parseInt(text1); // يأخذ الجزء الصحيح فقط: 50
console.log("parseInt('50.7px') = " + integerPart);
let text2 = "88.9 kilograms";
let decimalPart = parseFloat(text2); // يأخذ العدد العشري: 88.9
console.log("parseFloat('88.9 kilograms') = " + decimalPart);
⚠️ قيم خاصة: NaN و Infinity
أحياناً قد تحصل على نتائج غير رقمية عادية:
NaN(Not a Number): تظهر عندما تفشل عملية رياضية أو تحويل نص غير رقمي.let invalid = Number("Hello Academy!"); // لا يمكن تحويل هذا النص إلى رقم console.log(invalid); // NaN console.log(typeof invalid); // "number"! غريب، لكن NaN تعتبر من نوع NumberInfinity: تمثل قيمة أكبر من أي رقم يمكن تخيله، مثل القسمة على صفر.let hugeNumber = 100 / 0; console.log(hugeNumber); // Infinity
🎯 خلاصة الدرس
تعلمنا اليوم أن Number في JavaScript هو نوع بيانات شامل للأعداد الصحيحة والعشرية. تعرفنا على العمليات الحسابية (+, -, *, /, %, **) وقاعدة أولوياتها (PEMDAS). كما رأينا كيفية تحويل النصوص إلى أرقام باستخدام Number() و parseInt() و parseFloat، وتعرفنا على القيم الخاصة NaN و Infinity.
🎓 اختبر نفسك
التعليقات
شاركنا رأيك أو أسئلتك حول هذا المقال