سلام دوستان! توی این قسمت میخوایم با یک ویژگی کاربردی از آبجکتهای جاوااسکریپت آشنا بشیم: Accessor Property
توی این قسمت یاد میگیریم که:
- مشکل کجاست
- Accessor Property چیه
- Getter چیه
- Setter چیه
- ساختن متدهای Getter و Setter از بیرون از آبجکت
- چرا از Getter و Setter استفاده کنیم
مشکل کجاست؟ 🤔
همونطور که میدونیم یک آبجکت جاوااسکریپتی، شامل پراپرتیهایی بصورت 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