Casting (أو Type Conversion) يعني تحويل قيمة من نوع بيانات إلى نوع آخر، مثل تحويل نص إلى رقم.
تحويل صريح
Number("42") // 42
String(42) // "42"
Boolean("") // false
parseInt("10px") // 10
تحويل تلقائي (انتبه له)
JavaScript تحوّل الأنواع وحدها أحيانًا، وهنا تحدث المفاجآت:
"5" + 1 // "51" (number becomes text)
"5" - 1 // 4 (text becomes number)
متى أحتاجه؟
كثيرًا مع مدخلات النماذج: قيمة أي input تأتي نصًا دائمًا، حتى لو كتب المستخدم رقمًا. حوّلها بـ Number() قبل الحسابات.