عملگر اضافی ECMAScript

پیشنهاد دوره:

در بیشتر زبان‌های برنامه‌نویسی، عملگر جمعی (یعنی علامت جمع یا تفریق) ساده‌ترین عملگرهای ریاضی است.

عملگر جمع

عملگر جمع با علامت (+) نشان داده می‌شود:

var iResult = 1 + 2

مانند عملگرهای ضربی، در پردازش مقادیر خاص، جمع در ECMAScript دارای رفتارهای خاصی نیز دارد:

  • اگر یک عدد محاسبه شده باشد، نتیجه NaN خواهد بود.
  • -Infinity به -Infinity اضافه می‌شود، نتیجه -Infinity است.
  • Infinity به -Infinity اضافه می‌شود، نتیجه NaN است.
  • +0 به +0 اضافه کردن، نتیجه +0 خواهد بود.
  • -0 به +0 اضافه کردن، نتیجه +0 خواهد بود.
  • -0 به -0 اضافه کردن، نتیجه -0 خواهد بود.

اما اگر یکی از مقادیر یک رشته باشد، باید از قوانین زیر استفاده کرد:

  • اگر دو عدد هر دو رشته باشند، رشته دوم به رشته اول پیوند داده می‌شود.
  • اگر تنها یک عدد یک رشته باشد، عدد دیگر به رشته تبدیل می‌شود و نتیجه پیوند دو رشته خواهد بود.

مثال:

var result = 5 + 5;	// دو عدد
alert(result);		// خروجی "10"
var result2 = 5 + "5";	// یک عدد و یک رشته
alert(result2);		// خروجی "55"

این کد تفاوت دو حالت مختلف عملگرهای اضافه کردن را توضیح می‌دهد. در حالت عادی، 5+5 برابر با 10 (عدد اصلی) خواهد بود، مانند دو خط اول کد بالا. اما اگر یکی از مقادیر را به یک رشته "5" تغییر دهید، نتیجه "55" (ارزش اصلی رشته) خواهد بود زیرا مقادیر دیگر نیز به رشته تبدیل خواهند شد.

توجه:برای جلوگیری از خطای رایجی که در JavaScript رخ می‌دهد، باید نوع داده‌های مقادیر را هنگام استفاده از عملگرهای اضافه کردن به دقت بررسی کنید.

عملگر کم کردن

عملگر کم کردن (-) نیز یک عملگر بسیار رایج است:

var iResult = 2 - 1;

مانند عملگرهای اضافه کردن، عملگرهای کم کردن نیز در هنگام پردازش مقادیر خاص رفتارهای خاصی دارند:

  • اگر یک عدد محاسبه شده باشد، نتیجه NaN خواهد بود.
  • Infinity کم کردن Infinity، نتیجه NaN خواهد بود.
  • -Infinity کم کردن -Infinity، نتیجه NaN خواهد بود.
  • Infinity کم کردن -Infinity، نتیجه Infinity خواهد بود.
  • -Infinity کم کردن Infinity، نتیجه -Infinity خواهد بود.
  • +0 کم کردن +0، نتیجه +0 خواهد بود.
  • -0 کم کردن -0، نتیجه -0 خواهد بود.
  • +0 کم کردن -0، نتیجه +0 خواهد بود.
  • اگر یک عملگر عددی نباشد، نتیجه NaN خواهد بود.

توجه:اگر اعداد محاسبه شده باشند، عملیات معمولی کم کردن انجام می‌شود و نتیجه بازمی‌گردانده می‌شود.