जावास्क्रिप्ट गेट्टर और सेटर (उदाहरण के साथ)

इस ट्यूटोरियल में, आप उदाहरणों की मदद से जावास्क्रिप्ट गेट्टर और सेटर विधियों के बारे में जानेंगे।

जावास्क्रिप्ट में, दो प्रकार के ऑब्जेक्ट गुण हैं:

  • डेटा गुण
  • गौण गुण

डेटा संपत्ति

यहां डेटा संपत्ति का एक उदाहरण दिया गया है जिसका उपयोग हम पिछले ट्यूटोरियल में कर रहे हैं।

 const student = ( // data property firstName: 'Monica'; );

गौण संपत्ति

JavaScript में, accessor properties वे विधियाँ हैं जो किसी ऑब्जेक्ट का मान प्राप्त या सेट करती हैं। उसके लिए, हम इन दो खोजशब्दों का उपयोग करते हैं:

  • get - संपत्ति मूल्य प्राप्त करने के लिए एक गेटर विधि को परिभाषित करना
  • set - संपत्ति मूल्य निर्धारित करने के लिए एक सेटर विधि को परिभाषित करना

जावास्क्रिप्ट गेट्टर

जावास्क्रिप्ट में, किसी वस्तु के गुणों तक पहुंचने के लिए गेट्टर विधियों का उपयोग किया जाता है। उदाहरण के लिए,

 const student = ( // data property firstName: 'Monica', // accessor property(getter) get getName() ( return this.firstName; ) ); // accessing data property console.log(student.firstName); // Monica // accessing getter methods console.log(student.getName); // Monica // trying to access as a method console.log(student.getName()); // error

उपरोक्त कार्यक्रम में, getName()किसी ऑब्जेक्ट की संपत्ति तक पहुंचने के लिए एक गेट्टर विधि बनाई जाती है।

 get getName() ( return this.firstName; )

नोट: एक गेटर विधि बनाने के लिए, getकीवर्ड का उपयोग किया जाता है।

और जब मूल्य का उपयोग करते हैं, तो हम मूल्य को संपत्ति के रूप में एक्सेस करते हैं।

 student.getName;

जब आप किसी विधि के रूप में मान तक पहुँचने का प्रयास करते हैं, तो एक त्रुटि उत्पन्न होती है।

 console.log(student.getName()); // error

जावास्क्रिप्ट सेटर

जावास्क्रिप्ट में, वस्तु के मूल्यों को बदलने के लिए सेटर विधियों का उपयोग किया जाता है। उदाहरण के लिए,

 const student = ( firstName: 'Monica', //accessor property(setter) set changeName(newName) ( this.firstName = newName; ) ); console.log(student.firstName); // Monica // change(set) object property using a setter student.changeName = 'Sarah'; console.log(student.firstName); // Sarah

उपरोक्त उदाहरण में, किसी वस्तु के मूल्य को बदलने के लिए सेटर विधि का उपयोग किया जाता है।

 set changeName(newName) ( this.firstName = newName; )

नोट: सेटर विधि बनाने के लिए, setकीवर्ड का उपयोग किया जाता है।

जैसा कि उपरोक्त कार्यक्रम में दिखाया गया है, का मान firstNameहै Monica

फिर मान को बदल दिया जाता है Sarah

 student.chageName = 'Sarah';

नोट : सेटर के पास ठीक एक औपचारिक पैरामीटर होना चाहिए।

जावास्क्रिप्ट ऑब्जेक्ट .defineProperty ()

जावास्क्रिप्ट में, आप Object.defineProperty()गेटर्स और सेटर जोड़ने के लिए विधि का उपयोग कर सकते हैं । उदाहरण के लिए,

 const student = ( firstName: 'Monica' ) // getting property Object.defineProperty(student, "getName", ( get : function () ( return this.firstName; ) )); // setting property Object.defineProperty(student, "changeName", ( set : function (value) ( this.firstName = value; ) )); console.log(student.firstName); // Monica // changing the property value student.changeName = 'Sarah'; console.log(student.firstName); // Sarah

उपरोक्त उदाहरण में, Object.defineProperty()किसी वस्तु की संपत्ति तक पहुंचने और बदलने के लिए उपयोग किया जाता है।

उपयोग करने के लिए सिंटैक्स Object.defineProperty()है:

 Object.defineProperty(obj, prop, descriptor)

Object.defineProperty()विधि तीन तर्क लेता है।

  • पहला तर्क ऑब्जेक्टनाम है।
  • दूसरा तर्क संपत्ति के नाम पर है।
  • तीसरा तर्क एक वस्तु है जो संपत्ति का वर्णन करता है।

दिलचस्प लेख...