Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

जावास्क्रिप्ट कंस्ट्रक्टर में प्रॉपर्टी, मेथड कैसे जोड़ें?


परिचय

जावास्क्रिप्ट कंस्ट्रक्टर में प्रॉपर्टीज और मेथड्स जोड़ने के लिए prototype प्रॉपर्टी का उपयोग किया जाता है। prototype पर परिभाषित सभी इंस्टेंसेस द्वारा साझा किए जाते हैं, जिससे मेमोरी बचती है। इंस्टेंस-लेवल प्रॉपर्टीज कंस्ट्रक्टर के अंदर this पर परिभाषित की जाती हैं।

उदाहरण

निम्न कोड जावास्क्रिप्ट कंस्ट्रक्टर में प्रॉपर्टी, मेथड जोड़ने के लिए है:

<!DOCTYPE html> <html lang="hi"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>कंस्ट्रक्टर प्रोटोटाइप</title> <style> body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; } .result { font-size: 20px; font-weight: 500; } </style> </head> <body> <h1>जावास्क्रिप्ट कंस्ट्रक्टर में प्रॉपर्टी, मेथड जोड़ें</h1> <div style="color: green;" class="result"></div> <button class="Btn">यहाँ क्लिक करें</button> <h3> कंस्ट्रक्टर में प्रॉपर्टी, मेथड जोड़ने के लिए ऊपर दिए गए बटन पर क्लिक करें </h3> <script> const resEle = document.querySelector(".result"); function Human(firstName, lastName) { this.firstName = firstName; this.lastName = lastName; } const obj = new Human('रोहन', 'शर्मा'); document.querySelector(".Btn").addEventListener("click", () => { // प्रोटोटाइप पर मेथड जोड़ें Human.prototype.welcome = function() { return 'नमस्ते ' + this.firstName + ' ' + this.lastName; }; // प्रोटोटाइप पर प्रॉपर्टी जोड़ें Human.prototype.age = 22; resEle.innerHTML = 'कंस्ट्रक्टर में प्रॉपर्टी जोड़ना: age <br>' + obj.age + '<br>'; resEle.innerHTML += 'कंस्ट्रक्टर में फ़ंक्शन जोड़ना: welcome() <br>' + obj.welcome() + '<br>'; }); </script> </body> </html>

आउटपुट

उपरोक्त कोड निम्न आउटपुट उत्पन्न करेगा:

जावास्क्रिप्ट कंस्ट्रक्टर में प्रॉपर्टी, मेथड कैसे जोड़ें?

'यहाँ क्लिक करें' बटन पर क्लिक करने पर:

जावास्क्रिप्ट कंस्ट्रक्टर में प्रॉपर्टी, मेथड कैसे जोड़ें?

प्रोटोटाइप चेन

obj.__proto__ === Human.prototype // true
Human.prototype.__proto__ === Object.prototype // true
Object.prototype.__proto__ === null // true

सर्वोत्तम अभ्यास

  • मेथड्स को prototype पर रखें (सभी इंस्टेंसेस द्वारा साझा)
  • इंस्टेंस-स्पेसिफिक डेटा को कंस्ट्रक्टर में this पर रखें
  • ES6 क्लासेस इसे स्वचालित रूप से हैंडल करती हैं:
    class Human {
      constructor(firstName, lastName) {
        this.firstName = firstName;
        this.lastName = lastName;
      }
      welcome() { return `नमस्ते ${this.firstName} ${this.lastName}`; }
    }
    // welcome स्वचालित रूप से Human.prototype पर जाता है
  1. JavaScript Boolean constructor प्रॉपर्टी: पूर्ण गाइड JavaScript Boolean constructor प्रॉपर्टी: पूर्ण गाइड

    JavaScript में Boolean constructor प्रॉपर्टी उस कंस्ट्रक्टर फंक्शन को लौटाती है जिसने Boolean प्रोटोटाइप बनाया। यह प्रॉपर्टी सभी Boolean इंस्टेंस पर उपलब्ध होती है। उदाहरण { document.querySelector(.sample).innerHTML = Boolean constructor फंक्शन: <br> + bool.constructor;

  1. JavaScript Date Constructor प्रॉपर्टी JavaScript Date Constructor प्रॉपर्टी

    Date.prototype.constructor प्रॉपर्टी उस कंस्ट्रक्टर फंक्शन को संदर्भित करती है जिसने Date इंस्टेंस का प्रोटोटाइप बनाया। यह सभी Date ऑब्जेक्ट्स पर Date फंक्शन की ओर इशारा करती है। उदाहरण { fillEle.innerHTML += Constructor: + date.constructor; }); </script> </body> </h

  1. जावास्क्रिप्ट में लूप में देरी कैसे जोड़ें? जावास्क्रिप्ट में लूप में देरी कैसे जोड़ें?

    लूप में देरी जोड़ने के लिए, जावास्क्रिप्ट में setTimeout() मेथड का उपयोग करें। लूप में देरी जोड़ने के लिए कोड निम्नलिखित है: उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <tit