🔄 تحويل الأنواع في JavaScript: فهم كيفية تحويل البيانات بسهولة

مرحباً بك في درس تحويل الأنواع! في البرمجة، غالباً ما نحتاج إلى تحويل البيانات من نوع إلى آخر. تخيل أن لديك رقم مكتوب كنص - كيف يمكنك إجراء عمليات حسابية عليه؟ هذا بالضبط ما سنتعلمه اليوم! 🎯


🤔 ما هو تحويل الأنواع (Type Conversion)؟

تحويل الأنواع هو عملية تغيير نوع البيانات من صيغة إلى أخرى. في JavaScript، لدينا أنواع بيانات أساسية مثل:

  • النصوص (Strings) - مثل "25"
  • الأرقام (Numbers) - مثل 25
  • القيم المنطقية (Booleans) - مثل true أو false

أحياناً، يحتاج البرنامج إلى تحويل هذه الأنواع ليعمل بشكل صحيح.

// مثال: لدينا نص يحتوي على رقم
let textNumber = "10";
let actualNumber = 5;

// إذا حاولنا جمعهما مباشرة
let result = textNumber + actualNumber;
console.log(result); // النتيجة: "105" وليس 15!

📊 التحويل إلى أرقام (Number Conversion)

هناك عدة طرق لتحويل النصوص إلى أرقام:

1. استخدام Number()

هذه الطريقة تحول النص إلى رقم مباشرة.

let text = "123";
let convertedNumber = Number(text);
console.log(convertedNumber); // النتيجة: 123 (رقم)
console.log(typeof convertedNumber); // النتيجة: "number"

2. استخدام parseInt()

تستخدم لتحويل النص إلى عدد صحيح (Integer).

let decimalText = "15.75";
let integerNumber = parseInt(decimalText);
console.log(integerNumber); // النتيجة: 15 (يتجاهل الكسور)

3. استخدام parseFloat()

تستخدم لتحويل النص إلى عدد عشري (Float).

let decimalText = "15.75";
let floatNumber = parseFloat(decimalText);
console.log(floatNumber); // النتيجة: 15.75 (يحتفظ بالكسور)

📝 التحويل إلى نصوص (String Conversion)

لتحويل أي نوع بيانات إلى نص، نستخدم String():

let number = 42;
let convertedText = String(number);
console.log(convertedText); // النتيجة: "42" (نص)
console.log(typeof convertedText); // النتيجة: "string"

// يمكن تحويل القيم المنطقية أيضاً
let isTrue = true;
let textTrue = String(isTrue);
console.log(textTrue); // النتيجة: "true"

✅ التحويل إلى قيم منطقية (Boolean Conversion)

يستخدم Boolean() لتحويل القيم إلى true أو false:

// القيم التي تتحول إلى false
console.log(Boolean(0)); // false
console.log(Boolean("")); // false (نص فارغ)
console.log(Boolean(null)); // false
console.log(Boolean(undefined)); // false

// القيم التي تتحول إلى true
console.log(Boolean(1)); // true
console.log(Boolean("hello")); // true
console.log(Boolean(15)); // true

💡 التحويل التلقائي (Type Coercion)

أحياناً تقوم JavaScript تلقائياً بتحويل الأنواع:

// عند استخدام عامل الجمع مع نص
let result1 = "5" + 2; // النتيجة: "52" (تحول الرقم إلى نص)
let result2 = "5" - 2; // النتيجة: 3 (تحول النص إلى رقم)

// مع القيم المنطقية
let result3 = true + 1; // النتيجة: 2 (true تتحول إلى 1)
let result4 = false + 1; // النتيجة: 1 (false تتحول إلى 0)

🎯 أمثلة عملية واقعية

المثال 1: تحويل عمر المستخدم من نص إلى رقم للحساب

// بيانات من نموذج إدخال (تأتي كنص دائماً)
let userAgeText = "25";
let currentYear = 2024;

// تحويل العمر إلى رقم
let userAgeNumber = Number(userAgeText);
let birthYear = currentYear - userAgeNumber;

console.log("سنة الميلاد: " + birthYear); // النتيجة: سنة الميلاد: 1999

المثال 2: تحويل سعر المنتج لعرضه للمستخدم

let productPrice = 29.99;
let discount = 5;

// تحويل السعر إلى نص لإضافته إلى رسالة
let priceText = String(productPrice);
let message = "سعر المنتج: " + priceText + " دولار";

console.log(message); // النتيجة: سعر المنتج: 29.99 دولار

🚀 نصائح مهمة للمبتدئين

  1. تحقق دائماً من نوع البيانات باستخدام typeof
  2. استخدم التحويل الصريح بدلاً من الاعتماد على التحويل التلقائي
  3. تعامل مع الأخطاء - إذا حاولت تحويل نص غير رقمي ستحصل على NaN
let invalidText = "hello";
let result = Number(invalidText);
console.log(result); // النتيجة: NaN (Not a Number)