जावास्क्रिप्ट में ओओपी में एक्सेसर गुण

ऑब्जेक्ट के दो प्रकार के गुण होते हैं।

पहला प्रकार डेटा गुण (data properties) हैं। हम पहले से ही जानते हैं कि उनके साथ कैसे काम करना है। हमारे द्वारा अब तक उपयोग किए गए सभी गुण, डेटा गुण थे।

दूसरे प्रकार के गुणों पर हमने अभी तक विचार नहीं किया है। ये एक्सेसर गुण (accessor properties) हैं। अपने सार में, ये ऐसे फ़ंक्शन हैं जिनका उपयोग मान निर्दिष्ट करने और प्राप्त करने के लिए किया जाता है, लेकिन बाहरी कोड में वे सामान्य ऑब्जेक्ट गुणों की तरह दिखते हैं।

एक्सेसर गुण बनाए जाते हैं कीवर्ड get और set का उपयोग करके, जिन्हें मेथड्स घोषित करते समय लिखा जाता है:

javascriptclass User {
  get name() {
  
  }
  set name(name) {
  
  }
}

ऐसी घोषणा के परिणामस्वरूप हमारी क्लास के पास गुण name होगा। इसके साथ ही, इस गुण को पढ़ने का प्रयास करने पर वह मेथड कॉल होगी, जो get के माध्यम से घोषित की गई है:

javascriptlet name = user.name;

लिखने का प्रयास करने पर वह मेथड कॉल होगी, जो set के माध्यम से घोषित की गई है:

javascriptuser.name = 'john';
Задание 1

निम्नलिखित क्लास दी गई है:

javascriptclass Employee {
  get name() {
    console.log('get');
  }
  set name(name) {
    console.log('set');
  }
}

इस क्लास की एक वस्तु बनाएं और गुण name से डेटा लिखने और पढ़ने का प्रयास करें।