प्रतिक्रिया ES6 कक्षाएं
कक्षाओं
ES6 ने कक्षाएं शुरू कीं।
एक वर्ग एक प्रकार का फ़ंक्शन है, लेकिन
function
इसे आरंभ करने के लिए कीवर्ड का उपयोग करने के बजाय, हम कीवर्ड का उपयोग करते हैं
, और गुण एक विधि के class
अंदर असाइन किए जाते हैं
।constructor()
उदाहरण
एक साधारण वर्ग निर्माता:
class Car {
constructor(name) {
this.brand = name;
}
}
वर्ग के नाम के मामले पर ध्यान दें। हमने बड़े अक्षर के साथ "कार" नाम शुरू किया है। यह कक्षाओं के लिए एक मानक नामकरण परंपरा है।
अब आप कार वर्ग का उपयोग करके ऑब्जेक्ट बना सकते हैं:
उदाहरण
कार वर्ग के आधार पर "माईकार" नामक वस्तु बनाएं:
class Car {
constructor(name) {
this.brand = name;
}
}
const mycar = new Car("Ford");
नोट: जब ऑब्जेक्ट इनिशियलाइज़ होता है तो कंस्ट्रक्टर फ़ंक्शन को स्वचालित रूप से कॉल किया जाता है।
प्रमाणन हासिल करें!
$95 नामांकन
कक्षाओं में विधि
आप कक्षा में अपने तरीके जोड़ सकते हैं:
उदाहरण
"वर्तमान" नामक एक विधि बनाएं:
class Car {
constructor(name) {
this.brand = name;
}
present() {
return 'I have a ' + this.brand;
}
}
const mycar = new Car("Ford");
mycar.present();
जैसा कि आप ऊपर दिए गए उदाहरण में देख सकते हैं, आप ऑब्जेक्ट के मेथड नाम के बाद कोष्ठक (पैरामीटर कोष्ठक के अंदर जाएंगे) को संदर्भित करके विधि को कॉल करते हैं।
वर्ग वंशानुक्रम
क्लास इनहेरिटेंस बनाने के लिए extends
कीवर्ड का उपयोग करें।
क्लास इनहेरिटेंस के साथ बनाया गया एक क्लास दूसरे क्लास से सभी मेथड इनहेरिट करता है:
उदाहरण
"मॉडल" नामक एक वर्ग बनाएं जो "कार" वर्ग से विधियों को प्राप्त करेगा:
class Car {
constructor(name) {
this.brand = name;
}
present() {
return 'I have a ' + this.brand;
}
}
class Model extends Car {
constructor(name, mod) {
super(name);
this.model = mod;
}
show() {
return this.present() + ', it is a ' + this.model
}
}
const mycar = new Model("Ford", "Mustang");
mycar.show();
super()
विधि मूल वर्ग को संदर्भित करती है ।
कंस्ट्रक्टर मेथड में मेथड को कॉल करके super()
, हम पैरेंट की कंस्ट्रक्टर मेथड को कॉल करते हैं और पैरेंट के प्रॉपर्टीज और मेथड्स तक पहुंच प्राप्त करते हैं।
कक्षाओं के बारे में अधिक जानने के लिए, हमारा जावास्क्रिप्ट क्लासेस अनुभाग देखें।