تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ محمد
تعبیه setter‌ها و getter‌ها در توابع Constructor
جامعه جاوا اسکریپت ایجاد شده در ۱۳ خرداد ۱۴۰۰

سلام وقت بخیر

یه موضوعی برای من شفاف نیست. اینکه وقتی ما برای توابع 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 رو تعریف میکنیم براشون. متوجه نمیشم دقیقا چه اتفاقی میفته

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

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

Parham Mohammad Asghari ۲۴ تیر ۱۴۰۰، ۰۶:۵۹

سلام وقت بخیر

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

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

 

 

 

امیرعلی ۲۰ مرداد ۱۴۰۰، ۲۱:۳۵