जेवास्क्रिप्ट ऑब्जेक्ट प्रोटोटाइप

सभी JavaScript ऑब्जेक्ट वंशानुक्रम से विशेषता और विधि लेते हैं।

पिछले अध्याय में, हमने सीखा कि कैसेऑब्जेक्ट कंस्ट्रक्टर:

इंस्टांस

function Person(first, last, age, eyecolor) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eyecolor;
}
var myFather = new Person("Bill", "Gates", 62, "blue");
var myMother = new Person("Steve", "Jobs", 56, "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";
}

अपने आप साबित करें

वंशानुक्रम

सभी JavaScript ऑब्जेक्ट वंशानुक्रम से विशेषता और विधि लेते हैं।

तारीख ऑब्जेक्ट Date.prototype से उत्पन्न होता है। आयता ऑब्जेक्ट Array.prototype से उत्पन्न होता है। Person ऑब्जेक्ट Person.prototype से उत्पन्न होता है।

Object.prototype उत्पन्न वंशानुक्रम के शीर्ष पर है:

तारीख ऑब्जेक्ट, आयता ऑब्जेक्ट और Person ऑब्जेक्ट Object.prototype से उत्पन्न होते हैं।

ऑब्जेक्ट में विशेषता और विधि जोड़ना

कभी आप सभी दिये हुए तरीके के लिए मौजूदा ऑब्जेक्ट को नई विशेषता (या विधि) जोड़ना चाहते हैं।

कभी, आप ऑब्जेक्ट कन्स्ट्रक्टर को नए एट्रिब्यूट (या तरीके) जोड़ना चाहते हैं।

इस्तेमाल प्रोटोटाइप एट्रिब्यूट

JavaScript प्रोटोटाइप एट्रिब्यूट आपको ऑब्जेक्ट कन्स्ट्रक्टर को नए एट्रिब्यूट्स जोड़ने देता है:

इंस्टांस

function Person(first, last, age, eyecolor) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eyecolor;
}
Person.prototype.nationality = "English";

अपने आप साबित करें

JavaScript प्रोटोटाइप एट्रिब्यूट भी आपको ऑब्जेक्ट कन्स्ट्रक्टर को नए तरीके जोड़ने देता है:

इंस्टांस

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 ऑब्जेक्ट के प्रोटोटाइप को संशोधित नहीं करें。