JavaScriptలో Constructors

ఒక్కొక్కటిగా ఆబ్జెక్ట్‌లను (objects) సృష్టించడం నెమ్మదిగా ఉంటుంది. మీకు ఒకే రకమైన ప్రాపర్టీస్ (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");

దీనిని ఎందుకు ఉపయోగించాలి?

  • ఇది సమయాన్ని ఆదా చేస్తుంది.
  • ఇది కోడ్ పునరావృతాన్ని (repetition) నివారిస్తుంది.
  • ఇది మీ డేటా కోసం ఒక ప్రామాణిక నిర్మాణాన్ని (standard structure) సృష్టిస్తుంది.

this పాత్ర:

Constructor లోపల, this అనే పదం మీరు సృష్టిస్తున్న కొత్త ఆబ్జెక్ట్‌ను సూచిస్తుంది.

ఒక ఉపాధ్యాయుడు "నా తరగతి గది" (my classroom) అని అన్నట్లయితే, అందులో "నా" (my) అనే పదం ఆ నిర్దిష్ట ఉపాధ్యాయుడిని సూచిస్తుంది. కోడ్‌లో, this.name అనేది మీరు ఇప్పుడే సృష్టించిన నిర్దిష్ట ఆబ్జెక్ట్ యొక్క పేరును సూచిస్తుంది.

మీరు new ఉపయోగించినప్పుడు ఏం జరుగుతుంది?

మీరు const emp = new Employee("John", 50000) అని రన్ చేసినప్పుడు, నాలుగు దశలు జరుగుతాయి:

  1. JavaScript ఒక ఖాళీ ఆబ్జెక్ట్‌ను సృష్టిస్తుంది.
  2. this కీవర్డ్ ఆ కొత్త ఆబ్జెక్ట్‌ను సూచిస్తుంది.
  3. ఆబ్జెక్ట్‌కు ప్రాపర్టీలు జోడించబడతాయి.
  4. ఆబ్జెక్ట్ మీకు తిరిగి ఇవ్వబడుతుంది (returned).

చర్యలను (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 యొక్క మొదటి అక్షరాన్ని క్యాపిటల్ (Capital) అక్షరంతో ప్రారంభించండి. student కి బదులుగా Student అని ఉపయోగించండి. ఇది ఇతర డెవలపర్‌లకు new కీవర్డ్‌ను ఉపయోగించాలని తెలియజేస్తుంది.
  • ఎల్లప్పుడూ new కీవర్డ్‌ను ఉపయోగించండి. మీరు దానిని మర్చిపోతే, ఆ ఫంక్షన్ ఒక సాధారణ ఫంక్షన్‌లా పనిచేస్తుంది మరియు మీ కోడ్ తప్పుగా (break) మారుతుంది.

పోలిక:

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