जावास्क्रिप्ट ऑब्जेक्ट प्रोटोटाइप
सभी जावास्क्रिप्ट ऑब्जेक्ट एक प्रोटोटाइप से गुण और विधियाँ प्राप्त करते हैं।
पिछले अध्याय में हमने सीखा कि ऑब्जेक्ट कंस्ट्रक्टर का उपयोग कैसे किया जाता है :
उदाहरण
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
}
const myFather = new Person("John", "Doe", 50, "blue");
const myMother = new Person("Sally", "Rally", 48, "green");
हमने यह भी सीखा कि आप मौजूदा ऑब्जेक्ट कंस्ट्रक्टर में नई प्रॉपर्टी नहीं जोड़ सकते:
उदाहरण
Person.nationality = "English";
कंस्ट्रक्टर में एक नई संपत्ति जोड़ने के लिए, आपको इसे कंस्ट्रक्टर फ़ंक्शन में जोड़ना होगा:
उदाहरण
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
this.nationality = "English";
}
प्रोटोटाइप वंशानुक्रम
सभी जावास्क्रिप्ट ऑब्जेक्ट एक प्रोटोटाइप से गुण और विधियाँ प्राप्त करते हैं:
Date
वस्तुओं से विरासत में मिला हैDate.prototype
Array
वस्तुओं से विरासत में मिला हैArray.prototype
Person
वस्तुओं से विरासत में मिला हैPerson.prototype
Object.prototype
प्रोटोटाइप वंशानुक्रम श्रृंखला के शीर्ष पर है :
Date
वस्तुओं, Array
वस्तुओं और Person
वस्तुओं से विरासत में मिलता है Object.prototype
।
वस्तुओं में गुण और विधियाँ जोड़ना
कभी-कभी आप किसी दिए गए प्रकार की सभी मौजूदा वस्तुओं में नए गुण (या विधियाँ) जोड़ना चाहते हैं।
कभी-कभी आप किसी ऑब्जेक्ट कंस्ट्रक्टर में नए गुण (या विधियाँ) जोड़ना चाहते हैं।
प्रोटोटाइप संपत्ति का उपयोग करना
JavaScript prototype
प्रॉपर्टी आपको ऑब्जेक्ट कंस्ट्रक्टर में नई प्रॉपर्टी जोड़ने की अनुमति देती है:
उदाहरण
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
}
Person.prototype.nationality = "English";
JavaScript prototype
प्रॉपर्टी आपको ऑब्जेक्ट कंस्ट्रक्टर में नए तरीके जोड़ने की अनुमति भी देती है:
उदाहरण
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
}
Person.prototype.name = function() {
return this.firstName + " " + this.lastName;
};
केवल अपने स्वयं के प्रोटोटाइप को संशोधित करें । मानक JavaScript ऑब्जेक्ट के प्रोटोटाइप को कभी भी संशोधित न करें।