जावास्क्रिप्ट क्लासेस
ईसीएमएस्क्रिप्ट 2015, जिसे ईएस6 के नाम से भी जाना जाता है, ने जावास्क्रिप्ट क्लासेस की शुरुआत की।
जावास्क्रिप्ट क्लासेस जावास्क्रिप्ट ऑब्जेक्ट्स के लिए टेम्प्लेट हैं।
जावास्क्रिप्ट क्लास सिंटेक्स
class
कक्षा बनाने के लिए कीवर्ड का प्रयोग करें ।
हमेशा नाम की एक विधि जोड़ें constructor()
:
वाक्य - विन्यास
class ClassName {
constructor() { ... }
}
उदाहरण
class Car {
constructor(name, year) {
this.name = name;
this.year = year;
}
}
ऊपर दिया गया उदाहरण "कार" नामक एक वर्ग बनाता है।
कक्षा में दो प्रारंभिक गुण हैं: "नाम" और "वर्ष"।
एक जावास्क्रिप्ट वर्ग एक वस्तु नहीं है।
यह जावास्क्रिप्ट वस्तुओं के लिए एक टेम्पलेट है।
कक्षा का उपयोग करना
जब आपके पास कक्षा होती है, तो आप वस्तुओं को बनाने के लिए कक्षा का उपयोग कर सकते हैं:
उदाहरण
let myCar1 = new Car("Ford", 2014);
let myCar2 = new Car("Audi", 2019);
ऊपर दिया गया उदाहरण दो Car ऑब्जेक्ट बनाने के लिए Car क्लास का उपयोग करता है ।
जब कोई नई वस्तु बनाई जाती है तो कंस्ट्रक्टर विधि को स्वचालित रूप से कॉल किया जाता है।
कंस्ट्रक्टर विधि
कंस्ट्रक्टर विधि एक विशेष विधि है:
- इसका सटीक नाम "कन्स्ट्रक्टर" होना चाहिए
- जब कोई नई वस्तु बनाई जाती है तो इसे स्वचालित रूप से निष्पादित किया जाता है
- इसका उपयोग वस्तु गुणों को प्रारंभ करने के लिए किया जाता है
यदि आप एक कंस्ट्रक्टर विधि को परिभाषित नहीं करते हैं, तो जावास्क्रिप्ट एक खाली कंस्ट्रक्टर विधि जोड़ देगा।
कक्षा के तरीके
क्लास मेथड ऑब्जेक्ट मेथड के समान सिंटैक्स के साथ बनाए जाते हैं।
class
कक्षा बनाने के लिए कीवर्ड का प्रयोग करें ।
हमेशा एक constructor()
विधि जोड़ें।
फिर कितनी भी विधियाँ जोड़ें।
वाक्य - विन्यास
class ClassName {
constructor() { ... }
method_1() { ... }
method_2() { ... }
method_3() { ... }
}
"आयु" नामक एक क्लास विधि बनाएं, जो कार की आयु लौटाती है:
उदाहरण
class Car {
constructor(name, year) {
this.name = name;
this.year = year;
}
age() {
let date = new Date();
return date.getFullYear() - this.year;
}
}
let myCar = new Car("Ford", 2014);
document.getElementById("demo").innerHTML =
"My car is " + myCar.age() + " years old.";
आप कक्षा विधियों के लिए पैरामीटर भेज सकते हैं:
उदाहरण
class Car {
constructor(name, year) {
this.name = name;
this.year = year;
}
age(x) {
return x - this.year;
}
}
let date = new Date();
let year = date.getFullYear();
let myCar = new
Car("Ford", 2014);
document.getElementById("demo").innerHTML=
"My car is
" + myCar.age(year) + " years old.";
ब्राउज़र समर्थन
निम्न तालिका जावास्क्रिप्ट में कक्षाओं के लिए पूर्ण समर्थन के साथ पहले ब्राउज़र संस्करण को परिभाषित करती है:
Chrome 49 | Edge 12 | Firefox 45 | Safari 9 | Opera 36 |
Mar, 2016 | Jul, 2015 | Mar, 2016 | Oct, 2015 | Mar, 2016 |
"सख्त प्रयोग करें"
कक्षाओं में वाक्य रचना "सख्त मोड" में लिखा जाना चाहिए।
यदि आप "सख्त मोड" नियमों का पालन नहीं करते हैं तो आपको एक त्रुटि मिलेगी।
उदाहरण
"सख्त मोड" में आपको एक त्रुटि मिलेगी यदि आप इसे घोषित किए बिना एक चर का उपयोग करते हैं:
class Car {
constructor(name, year) {
this.name = name;
this.year = year;
}
age() {
// date = new Date(); // This will not work
let date = new Date(); // This will work
return date.getFullYear() - this.year;
}
}
JS स्ट्रिक्ट मोड में "सख्त मोड" के बारे में अधिक जानें ।