سلام دوستان! توی این قسمت می‌خوایم با یک ویژگی کاربردی از آبجکت‌های جاوااسکریپت آشنا بشیم: Accessor Property

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

 

مشکل کجاست؟ 🤔

همونطور که می‌دونیم یک آبجکت جاوااسکریپتی، شامل پراپرتی‌هایی بصورت Key و Value هست. پراپرتی‌ها، ویژگی‌های یک آبجکت رو شرح میدن. برای مثال آبجکت person رو در نظر بگیرید:

const person = {
  first_name: 'John',
  last_name:  'Doe',
}

کلیدهای first_name ،last_name و مقدار اونها، ویژگی‌ها و مشخصات آبجکت person رو شرح میدن. ما بصورت زیر (خط ۶) می‌تونیم به این مشخصات دسترسی داشته باشیم:

const person = {
  first_name: 'John',
  last_name:  'Doe',
};

const full_name = person.first_name + ' ' + person.last_name;

alert(full_name); // John Doe

ما توی مثال بالا قصد داشتیم اسم کامل (نام و نام‌خانوادگی) شخص رو چاپ کنیم. پس هر جایی از برنامه که نیاز داریم اسم کامل شخص رو چاپ کنیم باید مثل خط ۶ کد بالا، first_name و last_name رو به هم بچسبونیم که انجام این کار علاوه بر اینکه زمان‌بر هست، باعث به وجود اومدن کدهای تکراری توی برنامه میشه. ما با یک راه‌حل بهتر می‌تونیم این مسئله رو حل کنیم که اون هم استفاده از Accessor Property هاست 👌

 

Accessor Property چیه؟ 🤔

به تابعی گفته میشه که به یک شکل خاص توی آبجکت تعریف میشه و زمانی که می‌خوایم از بیرون از آبجکت، مقدار یک پراپرتی رو بخونیم و یا مقدار اون رو عوض کنیم، اجرا میشه تا بتونیم مقدار پراپرتی رو به بصورت دلخواه نمایش بدیم و یا ذخیره کنیم.

ما دو نوع Accessor Property داریم: Getter و Setter

 

پراپرتی‌های Getter