سلام دوستان! توی ادامه قسمت‌های عملگرهای جاوااسکریپت، می‌خوایم عملگرهای Assignment رو مفصل بررسی کنیم.

توی این قسمت یاد می‌گیریم که:

 

عملگر Assignment چیه؟ 🤔

با یک عملگر Assignment می‌تونیم به یک متغیر یک مقدار نسبت بدیم.

 

چند نوع عملگر Assignment داریم؟

اینها پرکاربردترین عملگرهای Assignment توی جاوااسکریپت هستن:

دقت کنین که توی همه این موارد ما عمل نسبت دادن مقدار به یک متغیر رو داریم. عملگرهای Assignment دیگه‌ای هم وجود داره که کاربرد خیلی محدودی دارن. اونها رو می‌تونین از ببینین.

 

عملگر Assignment ساده

این عملگر که پرکاربردترین عملگر توی جاوااسکریپت به حساب میاد، با یک علامت مساوی = هست که برای نسبت دادن یک مقدار به یک متغیر استفاده میشه. به بیان فنی‌تر، این عملگر، مقدار عملوند سمت راستش رو می‌ریزه توی عملوند سمت چپش:

let x = 10;

توی این کد، علامت = یک عملگر هست. این عملگر مقدار 10 رو نسبت میده به x.

 

عملگر Assignment جمع

این عملگر با علامت += هست و برای جمع کردن مقدار یک متغیر با یک مقدار دیگه و نسبت دادن دوباره اون به خود متغیر استفاده میشه:

let x = 10;
>> x += 5;

alert(x); // 15

کد بالا مشابه و خلاصه‌شده کد زیر هست:

let x = 10;
>> x = x + 5;

alert(x); // 15

 

این عملگر اگه برای رشته‌ها استفاده بشه، عملیات Concatenation رو انجام میده:

let name = "John";
name += " Doe";

alert(name); // John Doe

 

عملگر Assignment تفریق

این عملگر که به صورت -= هست، برای تفریق کردن مقدار یک متغیر از یک مقدار دیگه و نسبت دادن اون به خود متغیر استفاده میشه:

let x = 10;
>> x -= 3;

alert(x); // 7

کد بالا مشابه و خلاصه‌شده کد زیر هست:

let x = 10;
>> x = x - 3;

alert(x); // 7

 

این عملگر نمی‌تونه برای مقادیر غیر عددی استفاده بشه. در این صورت خروجی این عملگر، NaN خواهد بود:

let message = "Hello";

message -= 5;

alert(message); // NaN

البته اگه مقدار متغیر، عددِ از نوع رشته باشه مشکلی به وجود نمیاد؛ اما نوع متغیر از رشته به عدد تغییر پیدا می‌کنه:

let age = "10";
age -= 3;

alert(age); // 7 ... typeof number


 

عملگر Assignment ضرب

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

let h = 30;
>> h *= 3;

alert(h); // 90

توی این کد، مقدار متغیر h در عدد ۳ ضرب شد و دوباره ریخته شد توی خود متغیر h. درست مثل عملگر قبلی، شرط گرفتن NaN برای این عملگر هم برقرار هست.

 

عملگر Assignment تقسیم

این عملگر به صورت /= هست و برای زمانی استفاده میشه که می‌خوایم مقدار یک متغیر رو بر یک مقدار دیگه تقسیم کنیم و خروجی رو بریزیم توی همون متغیر:

let w = 30;
>> w /= 3;

alert(w); // 10

شرط گرفتن NaN برای این عملگر هم برقرار هست.

 

عملگر Assignment باقیمانده

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

let g = 30;
>> g %= 4; // g = g % 4

alert(g); // 2

 

خب دوستان تونستیم عملگرهای Assignment جاوااسکریپت رو بررسی کنیم. توی قسمت بعد با نوع‌های دیگه‌ای از عملگرها آشنا می‌شیم. روزتون خوش 😉✌️

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Addition_assignment