درود دوستان! توی قسمت قبل با چند عملگر حسابی (Arithmetic) آشنا شدیم. توی این قسمت می‌خوایم با دو عملگر حسابی پرکابرد دیگه به اسم‌های Increment و Decrement آشنا بشیم.

این عملگرها جزء عملگرهای Unary هستن. یعنی عملگرهایی که یک عملوند دارن.

 

عملگر Increment

این عملگر به صورت علامت‌های ++ هست و از اون زمانی استفاده می‌کنیم که می‌خوایم به مقدار یک متغیر، یک واحد اضافه کنیم:

let x = 10;
>> x++;

alert(x); // 11

کد بالا مشابه کد زیر هست:

let x = 10;
x = x + 1;

alert(x); 11

ما توی کد قبل از عملگر Increment بعد از متغیر استفاده کردیم:

let x = 10;
>> x++;

alert(x); // 11

می‌تونیم از این عملگر قبل از متغیر هم استفاده کنیم:

let x = 10;
>> ++x;

alert(x); // 11

توی این شرایط هر دو خروجی یکسان هستن. اما شرایطی وجود داره که ممکنه خروجی‌های متفاوتی بگیریم. کد زیر رو در نظر بگیرین که این عملگر بعد از متغیر داره استفاده میشه:

let a = 10;
>> let b = a++;

alert(b); // 10
alert(a); // 11

توی این کد متغیر a با مقدار 10 پیاده‌سازی شده. متغیر b برابر با a++ هست. شاید انتظار داشته باشیم که مقدار b برابر با 11 باشه. اما اینطور نیست. توی این کد، ابتدا مقدار اولیه a که 10 هست به b نسبت داده میشه و بعد عملیات اضافه‌شدن انجام می‌گیره. برای همین الان مقدار b برابر با 10 هست. دکمه ► رو بزنین تا خروجی رو ببینین.

اما اگه از این عملگر قبل از متغیر استفاده کنیم:

let a = 10;
>> let b = ++a;

alert(b); // 11
alert(a); // 11

اینجا توی خط ۲ ابتدا عملیات اضافه‌شدن روی a انجام می‌گیره و مقدار a برابر با 11 میشه. بعد مقدار a نسبت داده میشه به b. پس مقدار b برابر با 11 میشه.

مثال‌های زیر رو در نظر بگیرین: