जेसक्रिप्ट क्लास

एससीएमएस 2015, जिसे एस6 भी कहा जाता है, ने जावास्क्रिप्ट वर्ग शुरू किया।

जावास्क्रिप्ट वर्ग जावास्क्रिप्ट ऑब्जेक्ट का मॉडल है।

जावास्क्रिप्ट वर्ग की व्याकरण

कीवर्ड का उपयोग करें class क्लास बनाएं

हमेशा एक नाम की constructor() विधि:

व्याकरण

class ClassName {
  constructor() { ... }
}

इंस्टांस

class Car {
  constructor(name, year) {
    this.name = name;
    this.year = year;
  }
}

उपरोक्त उदाहरण "Car" क्लास बनाता है。

इस क्लास के दो प्रारंभिक गुण हैं: "name" और "year"。

जेसक्रिप्ट क्लासनहींऑब्जैक्ट

यह JavaScript ऑब्जैक्ट का हैटैम्पलेट

क्लास का उपयोग करना

जब आप कोई क्लास हो, तो आप उस क्लास का उपयोग ऑब्जैक्ट को बनाने के लिए कर सकते हैं:

इंस्टांस

let myCar1 = new Car("Ford", 2014);
let myCar2 = new Car("Audi", 2019);

स्वयं एक प्रयोग करें

उपरोक्त उदाहरण में Car क्लासदो बनाने के लिए Car ऑब्जैक्ट

नए ऑब्जैक्ट को बनाते समय कंस्ट्रक्टर (constructor method) स्वचालित रूप से बुलाया जाता है

कंस्ट्रक्टर विधि

कंस्ट्रक्टर विधि एक विशेष विधि है:

  • इसके नाम के लिए सही होना चाहिए "constructor"
  • नए ऑब्जैक्ट को बनाने के समय स्वचालित रूप से चलाया जाता है
  • ऑब्जैक्ट के गुणों को शुरू करने के लिए उपयोग किया जाता है
  • अगर आपने नहीं डिफाइनिट किया है, तो JavaScript एक खाली कंस्ट्रक्टर जोड़ देगा。

क्लास विधि

क्लास विधि के व्याकरण ऑब्जैक्ट विधि के समान हैं。

क्लास बनाने के लिए कीवर्ड class का उपयोग करें。

हमेशा constructor() विधि जोड़ें。

फिर किसी भी अधिकतम संख्या की विधियाँ जोड़ें。

व्याकरण

class ClassName {
  constructor() { ... }
  method_1() { ... }
  method_2() { ... }
  method_3() { ... }
}

एक "age" नाम की क्लास विधि बनाएं जो कार की वर्षों को वापस देती है:

इंस्टांस

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.";

स्वयं एक प्रयोग करें

ब्राउज़र समर्थन

इस तालिका में पहला पूरी तरह से JavaScript क्लास समर्थन करने वाला ब्राउज़र संस्करण दर्शाया गया है:

च्रोम आईई फायरफॉक्स सफारी ओपेरा
च्रोम 49 एज 12 फायरफॉक्स 45 सफारी 9 ओपेरा 36
2016 मार्च 2015 जुलाई 2016 मार्च 2015 अक्टूबर 2016 मार्च

"use strict"

क्लास में गैर-सख्त मोड के लिए गैर-सख्त मोड के लिए लेखन की भाषा की जरूरत है。

अगर आप 'सख्त मोड' की नियमों का पालन नहीं करते, तो आपको गलती संदेश मिलेगा。

इंस्टांस

एकमात्र 'सख्त मोड' के अंतर्गत आप गलती देखेंगे कि आप घोषित नहीं करके वारियबल का उपयोग करते हैं。

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;
  }
}

स्वयं एक प्रयोग करें

में जेएस सख्त मोड एकमात्र 'सख्त मोड' के अंतर्गत आप गलती देखेंगे कि आप घोषित नहीं करके वारियबल का उपयोग करते हैं。