تعبیه setter ها و getter ها در توابع Constructor

پرسیده شده
فعالیت 999 روز پیش
دیده شده 389 بار
0

سلام وقت بخیر

یه موضوعی برای من شفاف نیست. اینکه وقتی ما برای توابع constructor میایم setter و getter درست میکنیم چه اتفاقی میفته.

"use strict";

function MyConstructor() {
  this.name = "Mohammad Hassan";
  this.family = "Mehrazar";

  Object.defineProperties(this, {
    age: {
      get: function () {
        return this.userAge;
      },
      set: function (uAge) {
        this.userAge = uAge;
      },
    },
  });
}

let newObj = new MyConstructor();

الان درک این موضوع برای من سخته که پراپرتی ای تعریف میکنیم برای آبجکتمون با نام age  و setter و getter رو تعریف میکنیم براشون. متوجه نمیشم دقیقا چه اتفاقی میفته

فایل پیوست

محمد حسن مهرآذر
محمد حسن مهرآذر

13 خرداد 00

1
حذف شده

constructor ها به برنامه ی ما این امکان رو میدن تا در زمان نیاز خود برنامه بتونه آبجکت های جدید با property های مورد نیاز تولید کنه . getter  و setter هم به ما این امکان رو میدن که حین خوانده شدن یا نوشته شدن یک property عملیاتی رو انجام بدیم . مثلاً مقداری که به property داده میشه رو اعتبارسنجی بکنیم یا اصلا هربار یک مقدار جدید رو طبق یه تابع برگردونیم .

درواقع جواب سوال شما اینه که وقتی setter/getter رو برای یک property تعریف می کنیم درواقع این امکان رو به property میدیم که حین خوانده شدن (getter) و حین نوشته شدن (setter) عملیاتی رو انجام بده .

فایل پیوست

Parham Mohammad Asghari

توسط

Parham Mohammad Asghari

24 تیر 00

1
حذف شده

سلام وقت بخیر

به طور خلاصه، setter برای تغییر مقدار property و getter برای دریافت مقدار property استفاده میشه. باعث میشه امنیت داده بالا بره تا امکان inject داده در run time به وجود نیاد و مدیریت حافظه رو راحت می کنه و امکان بررسی شرط منطقی هم وجود داره

امیدوارم کمکتون کرده باشه 

 

 

 

فایل پیوست

امیرعلی طاهری

توسط

امیرعلی طاهری

20 مرداد 00