JavaScript मधील Constructors

एक एक करून ऑब्जेक्ट्स तयार करणे संथ आहे. जर तुम्हाला समान गुणधर्म (properties) असलेले दहा विद्यार्थी हवे असतील, तर तुम्हाला वारंवार तोच कोड लिहून वेळ वाया घालवावा लागतो.

JavaScript हे Constructor Functions वापरून सोडवते.

Constructor ला एका ब्लूप्रिंटसारखे (blueprint) समजा. घराची ब्लूप्रिंट म्हणजे घर नसते, पण तुम्ही त्याचा वापर अनेक घरे बांधण्यासाठी करता.

हे कसे कार्य करते:

Constructor हे एक विशेष फंक्शन आहे. त्यापासून ऑब्जेक्ट्स तयार करण्यासाठी तुम्ही new कीवर्ड वापरता.

Example:

function Student(name, age, city) {
    this.name = name;
    this.age = age;
    this.city = city;
}

const student1 = new Student("John", 21, "Chennai");
const student2 = new Student("David", 22, "Madurai");

हे का वापरावे?

  • यामुळे वेळ वाचतो.
  • यामुळे कोडची पुनरावृत्ती टाळता येते.
  • यामुळे तुमच्या डेटासाठी एक प्रमाणित संरचना (standard structure) तयार होते.

this ची भूमिका:

Constructor च्या आत, this हा शब्द तुम्ही तयार करत असलेल्या नवीन ऑब्जेक्टला सूचित करतो.

जर एखादा शिक्षक "माझी वर्गखोली" (my classroom) असे म्हणाला, तर "माझी" हा शब्द त्या विशिष्ट शिक्षकाकडे निर्देश करतो. कोडमध्ये, this.name हे तुम्ही नुकताच तयार केलेल्या विशिष्ट ऑब्जेक्टच्या नावाकडे निर्देश करते.

जेव्हा तुम्ही new वापरता तेव्हा काय होते?

जेव्हा तुम्ही const emp = new Employee("John", 50000) चालवता, तेव्हा चार पायऱ्या घडतात:

  1. JavaScript एक रिकामी ऑब्जेक्ट तयार करते.
  2. this कीवर्ड त्या नवीन ऑब्जेक्टकडे निर्देश करतो.
  3. ऑब्जेक्टमध्ये गुणधर्म (properties) जोडले जातात.
  4. ऑब्जेक्ट तुम्हाला परत मिळतो.

कृती (Actions) जोडणे:

ऑब्जेक्ट्स फक्त डेटा साठवू शकत नाहीत, तर ते कृती देखील करू शकतात. प्रोग्रामिंगमध्ये, या कृतींना 'methods' म्हणतात.

Example:

function Laptop(brand, ram) {
    this.brand = brand;
    this.ram = ram;
    this.showDetails = function() {
        console.log(this.brand, this.ram);
    };
}

Laptop ऑब्जेक्टमध्ये आता डेटा आणि तो डेटा दाखवण्यासाठी एक फंक्शन आहे.

सर्वोत्तम पद्धती (Best Practices):

  • Constructor च्या पहिल्या अक्षराचे नेहमी कॅपिटलायझेशन करा. student ऐवजी Student वापरा. यामुळे इतर डेव्हलपर्सना new कीवर्ड वापरण्याचा संकेत मिळतो.
  • नेहमी new कीवर्ड वापरा. जर तुम्ही तो विसरलात, तर फंक्शन एका सामान्य फंक्शनप्रमाणे काम करेल आणि तुमचा कोड बिघडेल.

तुलना:

Object Literals:

  • एका सिंगल ऑब्जेक्टसाठी चांगले.
  • सोपे आणि जलद.
  • कोणतीही ब्लूप्रिंट नाही.

Constructor Functions:

  • अनेक ऑब्जेक्ट्ससाठी चांगले.
  • पुन्हा वापरण्यायोग्य (reusable) आणि सुव्यवस्थित.
  • ब्लूप्रिंट दृष्टिकोन वापरते.

Source: https://www.w3schools.com/js/js_object_constructors.asp Source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/constructor Full post: https://dev.to/annapoo/constructor-in-javascript-4nbm