الناتج "22"، نص وليس رقمًا:
console.log(2 + "2"); // "22"
عندما يكون أحد طرفي + نصًا، تحوّل JavaScript الطرف الآخر إلى نص وتدمجهما بدل الجمع.
لكن العمليات الأخرى مختلفة
"5" - 2 // 3 (text becomes number)
"5" * "2" // 10
"a" - 1 // NaN
كيف أتجنب المفاجأة؟
حوّل القيم إلى أرقام بنفسك، خاصة مع مدخلات النماذج التي تأتي نصًا دائمًا:
const total = Number(input.value) + 2;