جمع و تفریق اعداد با رشته ها

پرسیده شده
فعالیت 1639 روز پیش
دیده شده 1217 بار
0

 وقتی یه عدد رو با رشته جمع میکنم به صورت یه رشته برمیگردونه ولی وقتی تفریق میکنم به صورت عدد برمیگردونه 

Console.log("7"+2)//72

Console.log("7"-2)//5

چرا آیا 

فایل پیوست

amir hossein
amir hossein

23 آبان 98

2
حذف شده

یکی از کاربردهای عملگر + عمل concat رشته ها بهم هست. هر زمانی یک رشته رو با یک عدد جمع کنید، عدد به رشته cast شده و عمل concat صورت میگیره.(اولویت رشته بالاتره)
ولی در مثال دوم عملگر تفریق هست و رشته ها به عدد cast میشن و عمل تفریق صورت میگیره.

console.log("1" - "1"); // 0
فایل پیوست

محسن موحد

توسط

محسن موحد

23 آبان 98

حذف شده
یا "a" - "b" برابر NAN هست چون a و b یک عدد نیستن که بتونن کست بشن.
محسن موحد

23 آبان 98

حذف شده
بله درسته مثبت برای Concat استفاده میشه در Stringها
مهدی صفری

23 آبان 98

2
حذف شده

عرض سلام و وقت بخیر ؛

در ادامه و تصدیق فرمیشات دوست خوبم جناب موحد باید عرض کنم دوست من شما حتی میتونی برای رفع این قضیه یعنی زمانی که شما از عملگر + اسفاده میکنید برای جمع رشته و عدد با توجه به مثالی که زدید یعنی بجای نمایش عدد 9 به شما عدد 72 رو نشون میده از عملگر unary اسفاده کنی توی این قسمت توضیح دادم چی هست مثال میزنم برات

 var num1 = '7',
     num2 = 2;

 console.log(+num1 + num2)

و خروجی عدد 9 رو برات برمیگردونه. امیدوارم توسته باشم کمکی کرده باشم

فایل پیوست

محسن محمدی رهنما

توسط

محسن محمدی رهنما

23 آبان 98

2
حذف شده

چون عملگر + یک استثنا است اگر دو عملوند ای  که باهم جمع میشوند حداقل یکی از این عملوند ها رشته باشد این دو عملوند با هم concat خواهد شد.اما سایر عملگر ها مثل /*- ابتدا عملوند به عدد تبدیل میشود و اگر به عدد تبدیل نشود نتیجه محاسبه NAN خواهد شد.

فایل پیوست

رضا پروین

توسط

رضا پروین

23 آبان 98